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> <div class="code" style="position:relative; padding:0px; margin:0px;"><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!