Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie erzeuge ich Zufallszahlen ohne Wiederholung in der Datenbank mit PHP?

SELECT FLOOR(RAND() * 99999) AS random_num
FROM numbers_mst 
WHERE "random_num" NOT IN (SELECT my_number FROM numbers_mst)
LIMIT 1

Was das bewirkt:

  1. Wählt eine Zufallszahl zwischen 0 und 1 mit RAND() aus.
  2. Verstärkt das zu einer Zahl zwischen 0 und 99999.
  3. Wählt nur diejenigen aus, die noch nicht in der Tabelle vorhanden sind.
  4. Gibt nur 1 Ergebnis zurück.