我有这样的数据库和表:
人
id Name
-- -----
1 Jim
2 John
3 Jaimy
我想随机选择结果中的一行。 SQL Server中有任何功能吗?
答案 0 :(得分:4)
这可能会为你做到 -
SELECT TOP 1 id, Name
FROM Persons
ORDER BY NEWID()
随机纯粹主义者不会喜欢它。它的工作原理是为每一行生成一个新的GUID。
如果Persons
表中有很多行,也可能会损害性能。理想情况下,您希望找到一种方法来最小化您首先运行的行数。
有一个更详细的answer in this question可以完全回答这个问题。
答案 1 :(得分:1)
您可以使用以下内容:
SELECT TOP 1 id, Name
FROM Persons
ORDER BY NEWID()