在sql查询中TOP 1的含义是什么?
SELECT TOP 1 RequestId
FROM PublisherRequests
答案 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相同。