在SQL Server 2008中如何找出第2高,第3高的值

在sqlserver中,我们有子查询的概念。子查询是指查询中的查询。以子查询为例。

SQL Server中如何找出某列最大,第2大的数

假设我们想找出给定薪资中第n个最大的薪资,因此为此我们必须使用子查询。

方法1

先选出最高的2位,再倒序排序,选出第一行数据

SELECT TOP 1 salary
FROM (
SELECT DISTINCT TOP 2 salary
FROM employee
ORDER BY salary DESC
) a

方法2

SELECT MIN(salary)
FROM employee
WHERE salary in
( SELECT DISTINCT TOP(2) salary 
FROM employee 
ORDER BY salary DESC
)
日期:2020-06-02 22:17:40 来源:oir作者:oir