📅  最后修改于: 2023-12-03 14:52:34.758000             🧑  作者: Mango
在 SQL Server 中,我们可以使用不同的方法来返回随机行,比如使用 Rand() 函数、使用 ORDER BY 和 TOP 语句组合,以及使用 TABLESAMPLE 子句。下面将详细介绍这些方法的用法。
Rand() 函数返回一个介于 0 和 1 之间的随机数。我们可以将 Rand() 函数与 ORDER BY 和 TOP 语句组合,来返回随机行。具体语法如下:
SELECT TOP 10 * FROM table ORDER BY Rand()
这条 SQL 语句会先对表进行随机排序,然后再取出前 10 行。
除了使用 Rand() 函数,我们还可以使用 ORDER BY 和 TOP 语句组合来返回随机行。具体语法如下:
SELECT TOP 10 * FROM table ORDER BY NEWID()
这条 SQL 语句会先对表进行随机排序,然后再取出前 10 行。其中,NEWID() 函数会产生一个 GUID(全局唯一标识符),可以用来随机排序。
SQL Server 还提供了 TABLESAMPLE 子句,可以从表中随机抽取一定比例的行。具体语法如下:
SELECT * FROM table TABLESAMPLE (10 PERCENT)
这条 SQL 语句会从表中随机抽取 10% 的行。
注意,使用 TABLESAMPLE 子句时,返回的行数可能会略微偏离我们期望的数量。
以上就是在 SQL Server 中有效地返回随机行的方法。我们可以根据具体业务需求选择适合自己的方法。