易百教程

47、编写 SQL 查询以从 employees 表中获取员工的第三个最高薪水。假设 employees 表字段如下:id,name,salary,performance

以下查询是获取员工第三个最高薪水的最简单方法:

SELECT * FROM `employees` ORDER BY `salary` DESC LIMIT 1 OFFSET 2

下面是演示如何获得员工的第三个最高薪水的演示示例:

以下是获得员工第三高薪水的替代方法:

A. 使用 LIMIT 关键字

SELECT salary FROM employees   
ORDER BY salary DESC   
LIMIT 2, 1;

B. 使用子查询

SELECT salary    
FROM   
    (SELECT salary   
     FROM employees   
     ORDER BY salary DESC   
     LIMIT 3) AS Temp   
ORDER BY salary LIMIT 1;

C. 使用 TOP 关键字

SELECT TOP 1 salary   
FROM   
    (SELECT DISTINCT TOP 3 salary   
     FROM employees   
     ORDER BY salary DESC) AS Temp   
ORDER BY salary ASC;