每次如何从MySQL表中获得随机不同的行或值集?
当我们RAND()在查询中同时使用函数和ORDERBY和LIMIT子句时,MySQL每次都会返回不同的行或值集。为了理解它认为表'Employee'具有以下记录-
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)
现在,下面的查询将RAND()在查询中返回随机不同的一组值或行使用带有ORDERBY和LIMIT子句的函数-
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)
从上面的结果集中可以看出,每次我们运行查询时,它都会返回随机不同的一组值或行。
热门推荐
10 升职祝福语朋友简短精辟
11 成年女性生日祝福语简短
12 友谊回忆祝福语简短英文
13 新年送老师简短祝福语
14 新婚红包祝福语简短男
15 出院祝福语简短8字
16 请灵回向祝福语简短
17 迎新祝福语简短20字
18 给男生的简短祝福语