Maison  >  Article  >  développement back-end  >  Comment obtenir plusieurs éléments de données de manière aléatoire dans php mysql

Comment obtenir plusieurs éléments de données de manière aléatoire dans php mysql

藏色散人
藏色散人original
2022-01-06 09:09:573089parcourir

Comment obtenir aléatoirement plusieurs éléments de données dans php mysql : 1. Obtenez les données via "SELECT * FROM tablename ORDER BY RAND() LIMIT" ; 2. Obtenez le nombre de données spécifié via "ORDER BY t1.id ASC LIMIT" ; , etc. .

Comment obtenir plusieurs éléments de données de manière aléatoire dans php mysql

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur Dell G3.

Comment php mysql obtient-il aléatoirement plusieurs éléments de données ?

Mysql réalise la méthode d'obtention aléatoire de plusieurs éléments de données

Il existe plusieurs façons d'écrire des instructions SQL :

1 : SELECT * FROM tablename ORDER BY RAND () LIMIT Vous voulez obtenir le nombre d'éléments de données ;

2 : SELECT *FROM `table` WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM `table` ) ORDER BY id LIMIT Les éléments de données que vous souhaitez obtenir Number;

3 : SELECT * FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM `table`)) AS id) AS t2 WHERE t1.id >= t2 .id

ORDER BY t1.id ASC LIMIT Le nombre d'éléments de données que vous souhaitez obtenir ;

4 : SELECT * FROM `table`WHERE id >= (SELECT floor( RAND() * (SELECT MAX(id) FROM `table`))) ORDER BY id LIMIT Le nombre d'éléments de données que vous souhaitez obtenir ;

5 : SELECT * FROM `table` WHERE id >= (SELECT étage( RAND() * ((SELECT MAX(id ) FROM `table`)-(SELECT MIN(id) FROM `table`)) + (SELECT MIN(id) FROM `table`))) ORDER BY id LIMIT Le nombre d'éléments de données que vous souhaitez obtenir ;

6 :SELECT * FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `table`)-(SELECT MIN(id ) FROM `table`))+(SELECT MIN(id) FROM `table`)) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id LIMIT Le nombre d'éléments de données que vous souhaitez obtenir

Commentaires :

Mesuré 380 000 données, 10 éléments sélectionnés au hasard 1 peuvent être sélectionnés au hasard et le temps d'exécution est de 1 à 2 secondes. 2. Aucune réponse après avoir couru pendant plus de 20 secondes. J'ai essayé 3 fois. 3 Les 10 données prises sont des identifiants consécutifs et l'exécution prend 0,001 seconde. 4 Sélectionnez au hasard 10 éléments avec des ID compris entre 1 et 4 000, exécutez-les pendant 0,003 seconde et essayez plus de 10 fois. 5 Sélectionnez au hasard 10 éléments avec des ID compris entre 1 et 4 000, exécutez-les pendant 0,003 seconde et essayez plus de 10 fois. 6 Les 10 données prises sont des identifiants consécutifs et l'exécution prend 0,001 seconde.

Apprentissage recommandé : "Tutoriel vidéo PHP"

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