use*_*445 26 sql sql-server sql-server-2005 limit
我找到了一种从这篇文章中的表中选择随机行的方法.建议是使用以下查询:
SELECT * FROM employee ORDER BY RAND() LIMIT 1
Run Code Online (Sandbox Code Playgroud)
但是当我在MS SQL 2005中运行此查询时,我收到以下错误消息
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'LIMIT'.
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我错在哪里?MS SQL不支持LIMIT吗?如果是这样,那我该怎么办呢?
Fre*_*els 44
如果您查看SQL Server联机丛书中的SELECT语句,那么您将看到可以使用TOP关键字限制结果集.
SELECT TOP 1 * FROM employee
Run Code Online (Sandbox Code Playgroud)
SELECT TOP 1 * FROM Employee ORDER BY newid()
Run Code Online (Sandbox Code Playgroud)
你必须使用newid()来每行评估一次.