Ma requête sélectionne les résultats correctement en utilisant ORDER BY CASE. Je voudrais randomiser les résultats dans chaque cas. Par conséquent, mes résultats sont toujours triés par cas, mais dans le cas où les résultats sont aléatoires, ils sont aléatoires à chaque fois que la requête est exécutée.ordre aléatoire dans mysql ordre par cas
Répondre
Vous pouvez essayer ORDER BY CASE, RAND()
. RAND()
génère un nombre aléatoire, bien sûr.
Cependant, j'ai entendu quelque part que mélanger des éléments dans SQL n'est pas tout à fait le moyen le plus efficace et il est préférable de randomiser des éléments dans PHP. Mais les randomiser par cas n'est pas une tâche triviale. (PHP rand()
function)
Je crois qu'il y a un problème avec l'utilisation de RAND pour trier dans MySQL quand le jeu de résultats est grand, mais je ne suis pas sûr à 100%. –
Oui il y a: http://jan.kneschke.de/projects/mysql/order-by-rand/ – ircmaxell
cela fonctionne cependant - après le cas, 'quand', 'alors' et END, RAND() - finit la requête est parfaitement – InnateDev
Souvent, par simplicité, je vais lancer une fonction NewID() dans un SQL Order By pour randomiser l'ordre des résultats. Dans votre cas, vous pouvez utiliser uniqid(), ou si vous passez vraiment la requête directement à MSSQL, vous pouvez aussi utiliser NEWID() ...
- 1. ORDRE MYSQL PAR CAS Problème
- 2. MySQL: Ordre par 2 champs
- 3. MySQL ordre par les mathématiques
- 4. MySql 'Ordre par date' Question
- 5. MySQL Ordre par symbole Préférence
- 6. Réorganiser NSArray/MSMutableArray dans un ordre aléatoire
- 7. Retour des lignes dans un ordre aléatoire
- 8. MySQL Ordre des opérations?
- 9. MySQL ordre question
- 10. Limite inférieure de MySQL par ordre décroissant
- 11. Php + MySQL bannière rotator par ordre
- 12. mysql ordre par champ (avec une torsion)
- 13. MySQL obtenir UNION, ordre par intersection?
- 14. mysql ordre par entier et varchar
- 15. Commander une requête MySQL par ordre alphabétique
- 16. Optimiser la requête MYSQL avec ordre par
- 17. PHP MySQL Ordre par deux colonnes
- 18. MySQL spécifie un ordre arbitraire par l'ID
- 19. Requête MySQL - problème avec ordre par
- 20. Schéma XSD qui permet un ordre aléatoire
- 21. SQL Ordre conditionnel par
- 22. Union et par ordre
- 23. Visiter les points dans un triangle dans un ordre aléatoire
- 24. NHibernate Ordre Par question
- 25. SQL Ordre personnalisé par
- 26. Mysql Devenez membre et ordre
- 27. ordre par un paramètre
- 28. Ordre du tableau ordre croissant
- 29. Ordre mysql par valeur de colonne délimitée par des virgules
- 30. requête MySQL avec le groupe par ordre et par
Vous pouvez essayer 'ORDER BY CASE, RAND()' . – phimuemue