1、单表随机查询
这个以前不知道,也是最近遇到的,需要从数据记录中随机取出指定条目的数据,于是上网查了一下,才知道还有这个用法,记录一下。
需要查询的表如下:
现在表中一共有8条数据,我只想取5条,且要求每次是随机取5条,没有固定顺序。SQL语句如下:
SELECT
*
FROM
USER
ORDER BY
rand()
LIMIT 5;
执行查询语句3次,结果如下:
可以看到,3次取的结果是随机的,并没有什么固定顺序,是完全随机的。这种的话貌似效率很低,属于耗时操作,官方不建议我们使用。
2、多表随机查询
这种我尝试过,如果按照单表随机的方法进行,最后查出来的结果集是有问题的,所以对于连表查询后的结果随机,我采用的是先查询出全部结果放在List中,然后从List中随机取出指定数量的元素,这种方法虽然可以实现,但是很笨,目前暂时不知道其他的实现方法。