SQL MAX()函数

时间:2015-04-24 18:29:25

标签: sql

假设我在表格中列出了工人名单工人(身份证,姓名,薪资)
如果我想看一个薪水最高的人的名字,我会做类似的事情:

SELECT Name
FROM
(
SELECT Name, MAX(Salary)
FROM Workers
) as T

我只是想知道我是否可以只使用一个SELECT查询来执行此操作?如果这是一个愚蠢的问题,我很抱歉,但我对SQL完全不熟悉。

3 个答案:

答案 0 :(得分:4)

超过1个名字,薪水=最高(工资)

SELECT top (1) with ties Name, Salary
FROM Workers
ORDER BY Salary DESC

答案 1 :(得分:0)

带限制的订单应该有效

SELECT Name, Salary
FROM Workers
ORDER BY Salary DESC
LIMIT 1

如果有多个人并列最高工资,而你想要全部:

SELECT Name, Salary
FROM Workers
WHERE Salary = (select max(Salary) from Workers)

答案 2 :(得分:0)

即使存在关系

,也会选择具有最高薪水的所有名称
select name from
workers w1
left join workers w2 on w2.salary > w1.salary
group by name
having count(w2.salary) = 0