如何随机筛选出100条记录

对数据列,如何随机筛选出100条记录!??

FineReport liangwwwww 发布于 2020-6-16 10:39
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
axingLv6专家互助
发布于2020-6-16 10:48

先对结果进行随机排序,再取前100条

如oracle:

select * from (select * from 表名 order by dbms_random.value()) t where rownum<=100


最佳回答
0
snrtuemcLv8专家互助
发布于2020-6-16 10:40(编辑于 2020-6-16 10:42)

mssql直接就select top 100 * from 表

mysql和sqlite 是  select  * from 表 limit 100

oracle是 select  * from 表 where rownum <101

最佳回答
0
卫九星Lv4初级互助
发布于2020-6-16 10:48
select * from aaa order by RAND() limit 0,100
最佳回答
0
weisonzhouLv5见习互助
发布于2020-6-16 11:00(编辑于 2020-6-16 11:04)

SELECT

*

FROM(

SELECT

@i := @i + 1 as nums,

a.*

FROM

zyw_test_200316 a,

(SELECT @i:=0)b

ORDER BY a.finish_date asc

)tb  -- 对表中的记录按finish_date 升序排序并编码了

ORDER BY RAND() LIMIT 100  -- 对tb的结果随机获取100条记录,可以通过观察tb的nums列来确认


试试这个,可以测试出确实是随机获取了100条记录


最佳回答
0
luojian0323Lv7资深互助
发布于2020-12-23 17:03(编辑于 2020-12-23 17:07)

别的库我没怎么用过,就用过mysql  和db2

db2查询只要不加order by 查询出来的结果是随机排列的

只要取前100条就行

其他库,还需要扰乱顺序再取前100条.

select * from (select row_number() over() num,* from 表 ) where num <=100


  • 6关注人数
  • 586浏览人数
  • 最后回答于:2020-12-23 17:07
    请选择关闭问题的原因
    确定 取消
    返回顶部