假设我在表格中列出了工人名单工人(身份证,姓名,薪资)。
如果我想看一个薪水最高的人的名字,我会做类似的事情:
SELECT Name
FROM
(
SELECT Name, MAX(Salary)
FROM Workers
) as T
我只是想知道我是否可以只使用一个SELECT
查询来执行此操作?如果这是一个愚蠢的问题,我很抱歉,但我对SQL
完全不熟悉。
答案 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