sql - 顶级命令在 SQL Server 中如何工作?
问题描述
Select Distinct Top 2 Salary
From Employee
Order By Salary Desc
此查询返回 Top 2 工资。SQL 查询的执行顺序(From -> Select -> Order By)。
理想情况下,它应该在前两行中获取薪水并显示它们,但它会计算最高薪水。结果如何计算?
顶级命令如何工作?
解决方案
从微软文档:
当您将 TOP 与 ORDER BY 子句一起使用时,结果集被限制为前 N 个有序行。否则,TOP 以未定义的顺序返回前 N 行。
因此,由于您是按 Salary DESC 排序的,因此您将获得表中最高的 2 个薪水。
推荐阅读
- google-apps-script - DocumentApp 服务抛出“访问带有 id 的文档时服务文档失败”错误
- python - Matplotlib:barh和boxplot之间的错位
- python - 根据列值删除重复项
- python - 为什么我不能在 Python 3 中使用 tkinter 生成窗口?
- python - pandas concat 2 dataframes 并在合并数据中添加一个新列
- excel - 无效的前向引用,或引用未编译的类型错误
- jquery - highchart 散点图,y 轴为 24 小时时间,x 轴为交易日期
- .net - 尝试从 linux docker 容器连接时,Cosmos DB .net 引发错误
- javascript - 如何修改 js 文件并使用 npm 命令保存?
- vue.js - 在 Vue.JS 中加载(创建)页面时如何重新加载从服务器获取的数据