我想在我的数据库中找到任何特定的人名

时间:2017-09-15 14:16:18

标签: sql

我有一个数据库,我试图为我的一个查询找到解决方案。

我想找到在我的数据库中获得最高工资的第五人称。我也可以这样做

例如,这是我的执行查询。你可以看到7个人的名字,但我想只看到第5个人的名字,只有' Mahesh"

我的桌子就像那样

FirstName  varchar (45),
LastName varchar (45),
Birthdate datetime,
position varchar (35),
DOJ datetime,
DeptID int,
Salary decimal (10,2)

这是我的执行查询。你可以看到7个人的名字,但我想只看到第5个人的名字,只有' Mahesh"

Salary      Name
90000.00    Amita
90000.00    Carla
89500.00    Sarah
89000.00    Gunjan
85000.00    **Mahesh**
96000.00    John
86000.00    Charles

所以我的问题是 我想从我的数据中找到唯一一个获得第5个最高工资的人名和工资。

1 个答案:

答案 0 :(得分:0)

假设您希望用户获得第五高薪,您可以使用嵌入式查询。

SELECT TOP 1 *
FROM (SELECT TOP 5 *
      FROM YourTable
      ORDER BY Salary DESC) tmp
ORDER BY tmp.Salary

或者如果你想包括关系。

SELECT *
FROM YourTable
WHERE Salary = (SELECT TOP 1 Salary
                FROM (SELECT TOP 5 Salary
                      FROM YourTable
                      ORDER BY Salary DESC) tmp
                ORDER BY tmp.Salary)