首页 > 解决方案 > 如何在查询中找到前 3 名的薪水?

问题描述

我有 2 个包含这样数据的表

员工 ID
一个 1
一个 1
2
D 4
2
ID 薪水
1 1250
1 254
3 434
4 1200
1 124

我如何找到前三名的薪水?

Select sum(salaries) from employees.table
left join salaries.table
on id = id 
order by salary desc limit 3 

这是正确的方法吗?

标签: mysqlsql

解决方案


您的员工表有重复项,这看起来很成问题。我建议你只使用salaries

select sum(salary)
from salaries s
group by id
order by sum(salary) desc
limit 3 ;

如果您打算将第一个表用于任何事情,您需要了解为什么会有重复,以便找出处理它们的最佳方法。


推荐阅读