2
我有數據庫和表像:
人
id Name
-- -----
1 Jim
2 John
3 Jaimy
我想隨機選取結果中的一行。 SQL Server中是否有任何功能?
我有數據庫和表像:
人
id Name
-- -----
1 Jim
2 John
3 Jaimy
我想隨機選取結果中的一行。 SQL Server中是否有任何功能?
這可能會爲你做 -
SELECT TOP 1 id, Name
FROM Persons
ORDER BY NEWID()
隨機純粹主義者會不喜歡它。它通過爲每一行生成一個新的GUID來工作。 如果您在Persons
表中有很多行,它也可能會損害性能。理想情況下,您希望找到一種方法來最小化您首先運行的行數。
有一個更詳細的answer in this question可以完全回答這個問題。
您可以使用類似:
SELECT TOP 1 id, Name
FROM Persons
ORDER BY NEWID()
NEWID()創建UniqueIdentifier類型的獨特價值。例如:'SELECT *,NEWID()as yuniq FROM TableName'將顯示每行在'yuniq'字段中具有唯一值。這個查詢的每個執行都會在'yuniq'字段中生成不同的值。 http://msdn.microsoft.com/en-us/library/ms190348.aspx – uzay95