我也不知道额,网上找了下,别人这么说的 order by rand()表示查询数据乱序排序(每执行次乱序次理论上有限次数内会重复) limit 1,n表示取出第1到n条数据 样达每次查询出n条数据都随机按id排序的话,在查一次就行了 select * from (select * from staff order by rand() limit n) t odrery by t.id
首先,不建议你用order by rand(),因为用它SQL效率会非常低,也就是查询很耗时! 你可以limit n条出来,然后在程序中通过Random来进行随机! 具体做法: 比如从数据库中limit 50返回一个list,然后在程序中需要随机10条返回给页面,用random在1-50范围内随机取10个数,然后在list.get(i),i就是random随机的值。
order by rand()表示查询数据乱序排序(每执行次乱序次理论上有限次数内会重复)
limit 1,n表示取出第1到n条数据
样达每次查询出n条数据都随机按id排序的话,在查一次就行了
select * from (select * from staff order by rand() limit n) t odrery by t.id
你可以limit n条出来,然后在程序中通过Random来进行随机!
具体做法:
比如从数据库中limit 50返回一个list,然后在程序中需要随机10条返回给页面,用random在1-50范围内随机取10个数,然后在list.get(i),i就是random随机的值。