Maison  >  Article  >  base de données  >  Comment sélectionner et trier aléatoirement des données dans MySQL ?

Comment sélectionner et trier aléatoirement des données dans MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-01 01:57:28960parcourir

 How to Randomly Select and Sort Data in MySQL?

Randomisation et tri des données MySQL

Dans MySQL, vous pouvez combiner la clause ORDER BY avec la fonction rand() pour récupérer des enregistrements aléatoires de un tableau. Cependant, si vous tentez de trier davantage les résultats randomisés à l'aide d'une autre colonne, vous risquez de rencontrer un comportement inattendu.

Pour résoudre ce problème, la requête doit être structurée comme une sous-requête. La requête interne récupère 20 utilisateurs aléatoires en utilisant ORDER BY rand() LIMIT 20.

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

La table temporaire résultante, qui contient les utilisateurs aléatoires, est ensuite référencée par la requête externe. La requête externe trie à nouveau la table temporaire par colonne de nom par ordre croissant :

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

) T1
ORDER BY name ASC

Cette approche garantit que l'ensemble de résultats final se compose de 20 utilisateurs sélectionnés au hasard, classés par leurs noms par ordre croissant.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn