Select*fromEmployee;+----+--------+--------+|ID|Name | Salaire|+----+--------+--------+|1 |Gaurav|50000 ||2 |Rahul "/> Select*fromEmployee;+----+--------+--------+|ID|Name | Salaire|+----+--------+--------+|1 |Gaurav|50000 ||2 |Rahul ">

Maison  >  Article  >  base de données  >  Comment pouvons-nous obtenir aléatoirement un ensemble différent de lignes ou de valeurs d'une table MySQL à chaque fois ?

Comment pouvons-nous obtenir aléatoirement un ensemble différent de lignes ou de valeurs d'une table MySQL à chaque fois ?

PHPz
PHPzavant
2023-08-28 23:29:09926parcourir

我们如何每次从 MySQL 表中随机获取不同的行或值集?

Lorsque nous utilisons la fonction RAND() avec les clauses ORDER BY et LIMIT dans une requête, MySQL renvoie à chaque fois un ensemble différent de lignes ou de valeurs. Pour le comprendre, considérons une table "Employee" avec les enregistrements suivants -

mysql> Select * from Employee;
+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 1  | Gaurav | 50000  |
| 2  | Rahul  | 20000  |
| 3  | Advik  | 25000  |
| 4  | Aarav  | 65000  |
| 5  | Ram    | 20000  |
| 6  | Mohan  | 30000  |
| 7  | Aryan  | NULL   |
| 8  | Vinay  | NULL   |
+----+--------+--------+
8 rows in set (0.00 sec)

Maintenant, la requête suivante utilisera la fonction RAND() et utilisera les clauses ORDER BY et LIMIT dans la requête pour renvoyer des valeurs ou Rowset aléatoirement différentes -

mysql> Select * from employee ORDER BY RAND() LIMIT 4;
+----+-------+--------+
| ID | Name  | Salary |
+----+-------+--------+
| 5  | Ram   | 20000  |
| 4  | Aarav | 65000  |
| 6  | Mohan | 30000  |
| 8  | Vinay | NULL   |
+----+-------+--------+
4 rows in set (0.00 sec)

mysql> Select * from employee ORDER BY RAND() LIMIT 4;
+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 6  | Mohan  | 30000  |
| 8  | Vinay  | NULL   |
| 2  | Rahul  | 20000  |
| 1  | Gaurav | 50000  |
+----+--------+--------+
4 rows in set (0.03 sec)

mysql> Select * from employee ORDER BY RAND() LIMIT 4;
+----+-------+--------+
| ID | Name  | Salary |
+----+-------+--------+
| 3  | Advik | 25000  |
| 8  | Vinay | NULL   |
| 7  | Aryan | NULL   |
| 5  | Ram   | 20000  |
+----+-------+--------+
4 rows in set (0.00 sec)

Comme vous pouvez le voir dans l'ensemble de résultats ci-dessus, chaque fois que vous exécutez la requête, elle renvoie un ensemble de valeurs ou de lignes aléatoirement différent.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer