SQL中取随机取数量的数据

 方法一:

需求是要在首页随机的取出n条数据来推荐给用户,一开始想随机id,根据最大id和最小id来随机的,想想还是算了。

后面发现了还能order by rand(),顺利的解决了这个需求

select * from table where 1 order by rand() limit 10

 方法二:

想要在SQL随机抽取样本数,

主要思想:就是随机产生一列随机数,并对随机数进行排序,再进行抽取前1000行
下面举例:
# 随机从总样本中抽取1000个样本,保存在table_name表中

create table table_name as  # 创建一个表table_name
select b.* from(
select rand() as index_name, a.* from table_name_a as a #对表table_name_a赋值一个随机数) as b #将新表赋值为表b
order by b.index_name desc #对表b的随机数index_name进行排序
limit 1000 #对排序的取前1000

  

LIMIT简单介绍:
 select * from table_name

 limit 100,10  #提取从第101行数据样本,总共抽取10个样本

生活不止眼前的苟且,还有诗与远方的田野! 我会定期更新我的微博,来一起自学python! --------如有问题欢迎指正~------------
原文地址:https://www.cnblogs.com/huangchenggener/p/10985713.html