Oft kommt es vor, dass man keinen bestimmten, sondern einen zufälligauswählen möchte. z.B. Auswählen eines Werbebanners, User of the day, ...
Hierzu gibt es die MySQL-Funktion RAND().
Infos hier:
http://dev.mysql.com/doc/mysql/en/Ma...functions.html
Beispiele:
Auswählen eines zufälligen Werbebanners
Code:
1:
| | SELECT bannerurl, bannercode FROM werbebanner ORDER BY RAND() LIMIT 1 |
Auswählen von 10 Usern, die 50 oder mehr Posts im Forum haben
Code:
1:
| | SELECT userid, username FROM users WHERE posts>=50 ORDER BY RAND() LIMIT 10 |
Man kann zusätzlich noch ein Argument in die Klammer setzen, wie man es von PHP mit srand() bzw. mt_srand() gewohnt ist:
Code:
1:
| | SELECT something FROM somewhere ORDER BY RAND(UNIX_TIMESTAMP()*UNIX_TIMESTAMP()) LIMIT 1 |
Einen Zufälligen Banner aus der Tabelle 'Banner' der nicht in 'Visited' steht
Code:
1:
| | SELECT Banner.id FROM Banner LEFT JOIN Visited USING (id) WHERE Visited.id IS NULL ORDER BY RAND() |