您的位置:首页 > 数据库 > MySQL

mysql 取每个部门薪资最高的1人

2020-06-06 04:28 148 查看

员工表:
QQ图片20180716142827.png

部门表:
QQ图片20180716144304.png

要求:取每个部门工资最高的1人,如图:
捕获.PNG

创建Employee(员工表),Department(部门表)

SQL 1:

SELECT
e.id,
d. NAME dName,
e. NAME eName,
e.salary
FROM
(
SELECT
*
FROM
Employee
ORDER BY
salary DESC
) e
LEFT JOIN Department d ON e.departmentid = d.id
GROUP BY
e.departmentid

SQL 2:

SELECT
e.id,
d. NAME dName,
e. NAME eName,
e.salary
FROM
Employee e
LEFT JOIN Department d ON e.departmentid = d.id
WHERE
salary = (
SELECT
max(salary)
FROM
Employee
WHERE
departmentid = e.departmentid
)
ORDER BY
salary DESC

SQL 3:

SQL 4:

方法很多…

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: