首页 > 开发 > MySQL > 正文

sql语句实现随机取n条数据

2015-08-30 23:06:40  来源:

把数组打乱随机取些值,可以用PHP的shuffl()打乱数组,当然,array_rand()也是可以随机取数组的,但是还有另一个更高效的办法,是不是能用sql直接随机数据?当然可以!

select * from tablename order by rand() limit 10

说明:rand()返回在范围0到1.0内的随机浮点值

sqlserver是这样实现的:

select top 10 * from tableName order by NewID()

说明:NewID()在扫描每条记录的时候都生成一个值, 而生成的值是随机的, 没有大小写顺序. 所以最终结果再按这个排序, 排序的结果当然就是无序的了 .


Copyright©2013-2016abenmao All Rights Reserved 京ICP备13035258号