- 20 April 2006
- 22.682
- 1.315
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: https://dev.mysql.com/doc/mysql/en/Mathematical_functions.html
Beispiele:
Auswählen eines zufälligen Werbebanners
Auswählen von 10 Usern, die 50 oder mehr Posts im Forum haben
Man kann zusätzlich noch ein Argument in die Klammer setzen, wie man es von PHP mit srand() bzw. mt_srand() gewohnt ist:
Einen Zufälligen Banner aus der Tabelle 'Banner' der nicht in 'Visited' steht
Hierzu gibt es die MySQL-Funktion RAND().
Infos hier: https://dev.mysql.com/doc/mysql/en/Mathematical_functions.html
Beispiele:
Auswählen eines zufälligen Werbebanners
Code:
SELECT bannerurl, bannercode FROM werbebanner ORDER BY RAND() LIMIT 1
Code:
SELECT userid, username FROM users WHERE posts>=50 ORDER BY RAND() LIMIT 10
Code:
SELECT something FROM somewhere ORDER BY RAND(UNIX_TIMESTAMP()*UNIX_TIMESTAMP()) LIMIT 1
Code:
SELECT Banner.id FROM Banner LEFT JOIN Visited USING (id) WHERE Visited.id IS NULL ORDER BY RAND()