TOP 1在sql查询中的含义是什么?

时间:2009-05-19 11:31:22

标签: sql-server

在sql查询中TOP 1的含义是什么?

SELECT TOP 1 RequestId 
FROM PublisherRequests

6 个答案:

答案 0 :(得分:17)

我不同意“将根据该表中的聚簇键定义订单。”

SQL Server Books Online is quite explicit: 如果查询没有ORDER BY子句,则行的顺序是任意的

一个复制品,证明情况并非总是如此:Without ORDER BY, there is no default sort order.

答案 1 :(得分:10)

它将从PublisherRequests表中选择第一行。

编辑:[订单将根据该表中的聚簇键定义 - 此语句不正确]。实际上,根据Alex的调查结果,根据BOL,行的顺序是任意的。

可以找到参考here

答案 2 :(得分:8)

示例中的查询将返回表RequestID中的第一个PublisherRequests 没有Order By子句的结果顺序是任意的。因此,您的示例将返回任意RequestID(即RequestID s的任意排序列表中的第一个RequestID
您可以通过定义Order By来更改订单 例如,要获取最后输入的ID,您可以编写

Select Top 1 RequestID
From PublisherRequests
Order By RequestID Desc

已更新,其中包含来自@Kirtan Gor@AlexK

的更正订单信息

答案 3 :(得分:3)

TOP可用于根据需要返回任意数量的行,或包含总行数的百分比 - 有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms189463.aspx

答案 4 :(得分:2)

这意味着只返回前1行,即第一行。

答案 5 :(得分:0)

它将查询返回的行数限制为1.它与MySQL中的限制1相同。