对数据列,如何随机筛选出100条记录!??
先对结果进行随机排序,再取前100条
如oracle:
select * from (select * from 表名 order by dbms_random.value()) t where rownum<=100
mssql直接就select top 100 * from 表
mysql和sqlite 是 select * from 表 limit 100
oracle是 select * from 表 where rownum <101
SELECT
*
FROM(
@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条记录
别的库我没怎么用过,就用过mysql 和db2
db2查询只要不加order by 查询出来的结果是随机排列的
只要取前100条就行
其他库,还需要扰乱顺序再取前100条.
select * from (select row_number() over() num,* from 表 ) where num <=100