首页 > 解决方案 > 顶级命令在 SQL Server 中如何工作?

问题描述

Select Distinct Top 2 Salary
From Employee
Order By Salary Desc

此查询返回 Top 2 工资。SQL 查询的执行顺序(From -> Select -> Order By)。

理想情况下,它应该在前两行中获取薪水并显示它们,但它会计算最高薪水。结果如何计算?

顶级命令如何工作?

标签: sqlsql-servertsql

解决方案


微软文档

当您将 TOP 与 ORDER BY 子句一起使用时,结果集被限制为前 N 个有序行。否则,TOP 以未定义的顺序返回前 N 行。

因此,由于您是按 Salary DESC 排序的,因此您将获得表中最高的 2 个薪水。


推荐阅读