首页 > 解决方案 > SQL Server 获取随机数的随机行

问题描述

有没有办法从 SQL Server 表中获取随机 N 行?我看到了这个链接,但这不是我想要的。每次运行查询时,我都希望获得不同的行数 - 例如,5 行、10 行等

标签: sqlsql-serverrandom

解决方案


你可以使用这样的东西:

select t.*
from (select t.*, row_number() over (order by (select null)) as seqnum
      from t 
     ) t cross join
     (select count(*) as cnt, rand() as rnd from t) x
where seqnum < cnt * rnd;

推荐阅读