SQL - 选择薪水最高的人的姓名

时间:2014-05-30 14:09:26

标签: sql select max

我有一张名为工人的桌子,其中包括一些人的姓名,工资和工作站。该表格如下所示:

|Name|Station|Salary|
|Kyle|1      |2200  |
|Lisa|2      |2250  |
|Mark|3      |1800  |
|Hans|4      |1350  |

这可能听起来像一个非常明显的初学者问题,但我无法让它发挥作用。我想选择工资最高的人的名字。谢谢你的阅读,并有一个很好的。

5 个答案:

答案 0 :(得分:5)

Select name 
from table 
where salary = (select max(salary) from table)

我不知道你是否想要包括关系(如果两个人有相同的工资,那就是最高工资。

这样做是找到最高工资,然后在查询中使用它来查找具有该工资的所有人。您需要将表格替换为表格名称。

答案 1 :(得分:3)

试试这个

SELECT top 1 Name
FROM tableName
ORDER BY Salary DESC

答案 2 :(得分:0)

你没有提到DBMS:

select name 
from table
order by salary desc
fetch first 1 rows only

如果您的DBMS支持OLAP功能:

select name from (
    select name, row_number() over (order by salary desc) as rn 
    from table
) where rn = 1

答案 3 :(得分:0)

尝试:

SELECT TOP name 
FROM yourtable 
WHERE salary = (SELECT MAX(salary) FROM yourtable)

答案 4 :(得分:0)

您必须使用子查询来获取姓名和最高薪水:

select Name, Salary from tb_name where salary=(select max(salary) from tb_name);