繁体   English   中英

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

[英]How to use LIMIT keyword in SQL Server 2005?

我找到了一种从这篇文章中的表中选择随机行的方法。 建议是使用以下查询:

SELECT * FROM employee ORDER BY RAND() LIMIT 1

但是当我在MS SQL 2005中运行此查询时,我收到以下错误消息

Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'LIMIT'.

谁能告诉我我错在哪里? MS SQL不支持LIMIT吗? 如果是这样,那我该怎么办呢?

如果您查看SQL Server联机丛书中的SELECT语句,那么您将看到可以使用TOP关键字限制结果集。

SELECT TOP 1 * FROM employee
SELECT TOP 1 * FROM Employee ORDER BY newid()

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

我正在使用这个相当简单的(SQL2005)来限制返回的行数,这也将与存储过程参数提供的值一起使用。

DECLARE @Limit int
SET @Limit = 10
SELECT TOP (@Limit) Col1, Col2 FROM SomeTable

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM