Heim  >  Artikel  >  Datenbank  >  Wie wähle und sortiere ich Daten in MySQL zufällig aus?

Wie wähle und sortiere ich Daten in MySQL zufällig aus?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-01 01:57:28960Durchsuche

 How to Randomly Select and Sort Data in MySQL?

MySQL-Daten randomisieren und sortieren

In MySQL können Sie die ORDER BY-Klausel mit der Funktion rand() kombinieren, um zufällige Datensätze abzurufen ein Tisch. Wenn Sie jedoch versuchen, die randomisierten Ergebnisse mithilfe einer anderen Spalte weiter zu sortieren, kann es zu unerwartetem Verhalten kommen.

Um dieses Problem zu beheben, sollte die Abfrage als Unterabfrage strukturiert sein. Die innere Abfrage ruft 20 zufällige Benutzer mit ORDER BY rand() LIMIT 20 ab.

<br>SELECT * FROM users ORDER BY rand() LIMIT 20<br>

Die resultierende temporäre Tabelle, die die zufälligen Benutzer enthält, wird dann von der äußeren Abfrage referenziert. Die äußere Abfrage sortiert die temporäre Tabelle nach der Namensspalte in aufsteigender Reihenfolge neu:

<br>SELECT * FROM <br>(</p>
<pre class="brush:php;toolbar:false">SELECT * FROM users ORDER BY rand() LIMIT 20

) T1
ORDNUNG NACH Name ASC

Dieser Ansatz stellt sicher, dass die endgültige Ergebnismenge aus 20 zufällig ausgewählten Benutzern besteht, sortiert nach ihren Namen in aufsteigender Reihenfolge.

Das obige ist der detaillierte Inhalt vonWie wähle und sortiere ich Daten in MySQL zufällig aus?. 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