如何在MS SQL中不使用任何子查询找到第N个最高工资?SQL查询找到第N个最高工资
0
A
回答
7
;WITH cte1
AS
(
SELECT ROW_NUMBER() OVER(ORDER BY SALARY DESC) AS RN, * FROM Salaries
)
SELECT *
FROM cte1
WHERE RN = 5 <-- Nth highest
+2
'ROW_NUMBER()'可能不是这里想要的。取决于需求,RANK()或DENSE_RANK()可能更合适。 – 2011-05-20 10:56:37
+0
DENSE_RANK(),在我的情况下给出2行。那么我应该在这种情况下明确吗? – 2011-05-20 11:01:29
+2
@Xor这取决于你的要求,你想看看如果两个人在第N点附近有相同的薪水,你会得到什么结果? – 2011-05-20 11:04:56
0
检出row_number函数。 :)
相关问题
- 1. SQL查询从工资表中查找第N个最高工资
- 2. 的SQL Server 2005/2008找到第n个最高工资
- 3. SQL查询来发现第N个最高工资从工资表
- 4. MongoDB:如何从集合中找到第n个最高工资
- 5. 为什么我的第N最高工资SQL查询语法错误?
- 6. SQL查找部门最高工资
- 7. 如何在SQL Server的表中找到第n个最高值
- 8. 查询查找获得最高工资的员工数量
- 9. SQL - 查找第n个具有更高性能的最高金额
- 10. 找到的第n个查询,在很长的SQL文件
- 11. SQL查询查找最高分
- 12. 在MySQL中查询查找第N个最大值
- 13. 哪一个是找到的第n个heighest工资
- 14. C++查找地图的第N个最高元素
- 15. 如何找到第五最高的薪水在SQL Server中的单个查询
- 16. 基本SQLite3查询:找到最高分
- 17. 如何找到一条记录的第n个孩子在SQL查询
- 18. 找到第二个最高有效位
- 19. 找到第二个最高值
- 20. sql查询得到最高结果
- 21. Sql查询找到更高的薪水
- 22. 查找地图中最高的n值
- 23. SQL查询最高3
- 24. SQL,从表中选择第N个到第M个记录,哪个查询更高效?
- 25. 如何在每个mysql查询组中获得第n个最高分项
- 26. SQL查询:具有最高工资从每家公司选择员工,
- 27. 找到第n个比较
- 28. 查找SQL中第N大元素
- 29. 使用sql查找第n行
- 30. SQL查询有关薪水最高找到
问题是模糊的。发布您的表架构。 – 2011-05-20 10:45:12
如果两个人在第N点附近有相同的工资,该怎么办?例如:这个有序列表中的第四项应该是什么? 10 9 8 8 8 7 7 7 6 5 – 2011-05-20 10:51:06
@fearofawhackplanet true,但您链接到的问题没有指定SQL Server的版本(注释除外),因此答案不会使用潜在的更高效/更清晰的窗口函数自SQL Server 2005起可用。 – 2011-05-20 10:58:43