LeetCode(数据库)- 将工资相同的雇员分组
Posted 程序员牧码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(数据库)- 将工资相同的雇员分组相关的知识,希望对你有一定的参考价值。
题目链接:点击打开链接
题目大意:略。
解题思路:略。
AC 代码
-- 解决方案(1)
select A.employee_id,
A.name,
A.salary,
dense_rank() over(order by A.salary) team_id
from (select a.*, COUNT(1) over(partition by a.salary) cn from Employees a) A
WHERE A.cn > 1
order by team_id,employee_id
-- 解决方案(2)
WITH t AS(SELECT 1 no, employee_id, name, salary
FROM Employees
WHERE employee_id NOT IN (SELECT employee_id FROM Employees GROUP BY salary HAVING COUNT(*) = 1))
SELECT employee_id, name, salary, DENSE_RANK() OVER(PARTITION BY no ORDER BY salary) team_id
FROM t
以上是关于LeetCode(数据库)- 将工资相同的雇员分组的主要内容,如果未能解决你的问题,请参考以下文章