如何在SQL Server 2005中使用LIMIT关键字?

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)


Jon*_*oln 5

SELECT TOP 1 * FROM Employee ORDER BY newid()
Run Code Online (Sandbox Code Playgroud)

你必须使用newid()来每行评估一次.