select Department, Employee, Salary
from (
select Department,
Employee,
Salary,
IF(@id = id, if(@salary = Salary, @num, @num := @num + 1), @num := 1) myrank,
@id := id,
@salary := Salary
from (
select b.name Department,
a.name Employee,
a.salary Salary,
b.id id
from Employee a,
Department b,
(select @num := 0, @id := null, @salary := null) c
where a.departmentId = b.id
order by a.departmentId, a.salary desc) t) t
where myrank < 4;
mysql使用自定义变量分组排名查询
最新推荐文章于 2023-07-16 20:29:00 发布