MySQL – pobieranie kilku losowych rekordów

Niedawno szukałem sposobu na pobranie np. 3 losowo wybranych rekordów. Myślałem na początku o napisaniu czegoś w PHP, ale w sumie po przeszukaniu dokumentacji SQL okazało się, że sprawa jest banalnie prosta. Wystarczy zastosować poniższy fragment kodu:

SELECT * FROM nazwa_tabeli ORDER BY RAND() LIMIT 3

I w wyniku kwerendy otrzymujemy 3 losowe rekordy.

Mam nadzieję, że komuś się to przyda, a może nawet zainspiruje do własnych ciekawych zastosowań.

Komentarze

  1. Kamil mówi:

    Hehe, jakbym znał PHP i umiał napisać własnego CMS’a to zastosowałbym to do losowych newsów na sidebarze. ;)

  2. Kamil mówi:

    funkcja rand() z poziomu mysql jest bardzo wolne lepiej używać funkcji array_rand z poziomu php

  3. Super – napewno się przyda. dzięki

Wypowiedz się

*