我想知道是否有人知道如何在 MS SQL Server 上执行可重复的随机排序。
我通过在随机函数上设置种子值在其他数据库平台上实现了相同的效果:
MySQL/MariaDB: ORDER BY RAND(?);
Oracle: EXEC DBMS_RANDOM.SEED(?); ORDER BY DBMS_RANDOM.VALUE;
Postgres: SELECT SETSEED(?); ORDER BY RANDOM();
Run Code Online (Sandbox Code Playgroud)
但是,我在 SQL-Server 上找不到等效项。经过一些研究,我尝试了语法 TABLESAMPLE(100 PERCENT) REPEATABLE(Y)。但 TABLESAMPLE 似乎没有以任何随机顺序返回行。
SQLFiddle: http: //sqlfiddle.com/#!3/d50dd /30