关于 leetcode mysql 问题:部门工资前三高的所有员工

2019-10-16 18:16:25 +08:00
 Bruin

题目:部门工资前三高的所有员工

我的 sql 如下

select  t.Name as Department, Employee.Name as Employee, Employee.Salary from Employee , 
(

	SELECT *, IFNULL((

	SELECT DISTINCT(salary) from Employee, (select @i :=0, @pre := -1) t 
	where Employee.DepartmentId = Department.id 
	HAVING ( @i := @i + (@pre != (@pre := salary))) = 3 
	ORDER BY salary desc

	), 0) as salary from Department
	
) as t

where t.id = Employee.DepartmentId and Employee.Salary >= t.Salary
order by t.id asc, Employee.Salary desc;


本地 sql 执行结果 ok,leetcode 执行代码也 ok,提交审核就挂了!不知道问题在哪儿!

1739 次点击
所在节点    程序员
2 条回复
c6h6benzene
2019-10-16 18:54:16 +08:00
原谅我的第一反应是 Row_Number 或者 Rank
wd
2019-10-17 07:54:40 +08:00
mysql 支持 window function 吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/610011

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX