2016-04-11 13 views
-2

Ich muss die Top 4 Datensätze von einer bestimmten Spalte absteigend sortiert bekommen. Wenn mehr als ein Wert derselbe ist, muss ich sie zufällig auswählen.Mysql random innerhalb der Reihenfolge

Zum Beispiel:

 
ID - VALUE 
1 - 10 
2 - 5 
3 - 5 
4 - 3 
5 - 3 
6 - 3 
7 - 3 
8 - 3 
9 - 3 
10 - 3 

So in diesem Beispiel 10 ist die höchste wird so immer oben sein. 5 ist die zweithöchste, so dass es zufällig die beiden Werte anordnet. es wird dann eine zufällige mit dem Wert von 3 auswählen.

Ich hoffe, das ist klar.

edit: Ich habe ORDER BY Wert DESC versucht und angenommen, dass es sie zufällig auswählen würde, aber es scheint, als ob es eine vorbestimmte Reihenfolge gibt, wie die gleichen weiterhin angezeigt werden.

Ich habe auch versucht, ORDER BY Wert DESC, RAND (ID), die das gleiche wie oben, aber mit anderen Werten.

+3

Und jetzt alles, was Sie tun müssen, ist, uns zu zeigen, was Sie versucht haben. – Epodax

+0

Können Sie richtig erklären, was Sie wollen? und was hast du vorher versucht? –

Antwort

3

verwenden ORDER-Klausel:

SELECT ... ORDER BY your_column DESC, RAND() 
+0

Schön. Das funktioniert genau so, wie ich es wollte. Vielen Dank für deine Hilfe. – user2803146

+0

Ja, ich warte nur auf eine Stackoverflow-Verzögerung, die sie eingefügt haben, bevor ich sie als gelöst markieren kann. – user2803146