Ich muss Zeilen aus einer Tabelle (d. H. "Bestellungen") nach dem Zufallsprinzip sortiert nach einer Spalte (sagen wir "Benutzer") abrufen. Das heißt, ich brauche alle Bestellungen von demselben Benutzer, um zusammen zu bleiben (einer nach dem anderen) und die Benutzer, um zufällig geordnet zu werden.MySQL - Wie ordne ich die Ergebnisse zufällig in einer Spalte an?
Antwort
Ich gehe davon aus, Sie haben eine zweite Tabelle namens "Benutzer", die alle Benutzer darin hat. Wenn nicht, könnten Sie immer noch das tun, indem das Hinzufügen eines weiteren SELECT DISTINCT-Unterabfrage auf Aufträge, aber das wäre viel chaotischer sein:
SELECT orders.*
FROM orders
INNER JOIN (SELECT userid, RAND() as random FROM users) tmp
ON orders.userid = tmp.userid
ORDER BY tmp.random, tmp.userid
Sie wollen durch die Zufallszahl und der Benutzer-ID, um zu bestellen, so, wenn zwei Benutzer-IDs bekommen die gleiche Zufallszahl ihre Bestellungen werden nicht alle zusammen durcheinander gebracht.
Wie zufällig muss es sein? Ich kann mir ein paar mögliche Antworten vorstellen.
Wenn die "zufällige" Sequenz wiederholbar sein soll, können Sie nach einem Hash der Benutzer-ID sortieren, indem Sie MD5 verwenden oder einen benutzerdefinierten, den Sie selbst erstellen, z. ORDER BY MD5(), Sekundär_Speicher_Spalte.
umkehren von reverse (user)?
- 1. Wie ordne ich Ergebnisse nach Hstore-Attribut in Rails 4?
- 2. Wie ordne ich die Ergebnisse einer SQL-Abfrage mehreren Variablen in VB.NET zu?
- 3. Wie ordne ich Formulardaten korrekt an eine Controller-Aktion an?
- 4. SUM die Ergebnisse einer COUNT() in MySQL
- 5. MySQL Wie bekomme ich die Summe mehrerer Zeilen aus mehreren Tabellen und ordne die Ergebnisse dann nach Gesamt absteigend?
- 6. Wie ordne ich eine Initiale in html/css korrekt an?
- 7. Wie bekomme ich die Größe der Spalte in mysql Tabelle
- 8. Wie ordne ich eine Geometrie-Spalte einem POCO zu?
- 9. MySql legen die Ergebnisse einer select
- 10. , wie mysql-Spalte in einer Tabellenausgabe runden
- 11. Wie kann ich die Ergebnisse in MySQL verketten?
- 12. Ordne ich diese C-Funktion in C# korrekt an?
- 13. Wie ordne ich Vererbungsklassen ordnungsgemäß mit ORMLite an?
- 14. MySQL: die Ergebnisse von zwei Spalten in einer Anweisung
- 15. zusätzliche Spalte in SQL-Ergebnisse
- 16. MySQL Ergebnisse zu einer Datei
- 17. Wie ordne ich Aufgaben in C#
- 18. MySQL: Wie aktualisiere ich 50% der Zeilen, zufällig ausgewählt?
- 19. MYSQL wiegen Ergebnisse
- 20. Wie ordne ich IHttpModule korrekt?
- 21. In einer horizontalen Listbox, wie ordne ich Elemente an der Spitze?
- 22. Wie verschiebe ich die Spalte in die Mittelposition und bringe sie an die Stelle einer anderen Spalte in Bootstrap?
- 23. MySQL Spalte, die Daten Fasst aus einer anderen Spalte
- 24. Sortierung der Ergebnisse einer MySQL-Abfrage
- 25. Wie gebe ich die MKLocalSearchCompletion-Ergebnisse an den UISearchController
- 26. Ausgabe der Ergebnisse der MySQL-Quelle an die Protokolldatei
- 27. Wie lese ich MySQL-Ergebnisse einfach durch?
- 28. Wie ignoriere ich Ergebnisse aus JOIN Tabelle in MySQL-Abfrage
- 29. MYSQL-Join-Ergebnisse wischen Ergebnisse während IN() in where-Klausel?
- 30. MySQL Inner schließt sich an einem Alias einer berechneten Spalte
Genau das, was ich gesucht habe. Danke vielmals! – Gerardo
Dies funktioniert nicht in MS SQL Server. RAND() wertet eine Konstante aus und gibt jeder user_id den gleichen Wert für 'random' ... – MatBailie
Gut, dass er MySQL dann benutzt :) –