Heim  >  Artikel  >  Datenbank  >  Wie generiert man in MySQL Zufallswerte innerhalb eines bestimmten Bereichs?

Wie generiert man in MySQL Zufallswerte innerhalb eines bestimmten Bereichs?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-28 01:47:29527Durchsuche

 How to Generate Random Values Within a Specific Range in MySQL?

Zufallswerte aus einem bestimmten Bereich in MySQL auswählen

In MySQL kann die Auswahl eines Zufallswerts innerhalb eines bestimmten Bereichs durch die folgende Methode erreicht werden:

SELECT ROUND((RAND() * (max-min))+min) AS `foo`

Die Funktion RAND generiert einen zufälligen Bruch zwischen 0 und 1. Durch Multiplikation dieses Bruchs mit dem Bereich (max-min) und Addition von min erhalten wir einen Zufallswert innerhalb des gewünschten Bereichs. Mit der ROUND-Funktion wird das Ergebnis auf die nächste ganze Zahl gerundet.

Die bereitgestellte Abfrage erzeugt jedoch nur einen einzelnen Zufallswert. Wenn Sie mehrere Zufallswerte in einer einzelnen Zeile generieren müssen, können Sie die folgende Alternative in Betracht ziehen:

SELECT ROUND((RAND() * (max-min))+min) + 1 AS `foo`

Diese Methode stellt sicher, dass die generierten Zufallswerte eindeutig sind, indem sie 1 zum Ergebnis addiert.

Im Vergleich zwischen PHP und MySQL in den Antworten erwies sich MySQL als schneller, wenn nur der Zufallswert ausgewählt wurde. Wenn jedoch zusätzliche Spalten im Ergebnissatz erforderlich sind, wird PHP effizienter.

Das obige ist der detaillierte Inhalt vonWie generiert man in MySQL Zufallswerte innerhalb eines bestimmten Bereichs?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn