【发布时间】:2011-11-17 01:27:04
【问题描述】:
这是我今天下午收到的一个问题:
SQL Server 中有一个包含 ID、Name 和 Salary of Employees 的表,获取薪水第二高的员工的姓名
这是我的答案,我只是写在纸上,不确定它是否完全有效,但它似乎有效:
SELECT Name FROM Employees WHERE Salary =
( SELECT DISTINCT TOP (1) Salary FROM Employees WHERE Salary NOT IN
(SELECT DISTINCT TOP (1) Salary FROM Employees ORDER BY Salary DESCENDING)
ORDER BY Salary DESCENDING)
我认为这很丑,但这是我想到的唯一解决方案。
你能给我推荐一个更好的查询吗?
非常感谢。
【问题讨论】:
标签: sql sql-server tsql optimization