程序笔记   发布时间:2022-07-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了LeetCode 【困难】数据库-第579:查询员工的累计薪水大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

题目

LeetCode 【困难】数据库-第579:查询员工的累计薪水

数据

LeetCode 【困难】数据库-第579:查询员工的累计薪水

1.薪资累加、月份排名(降序)

SELEct *,
sum(salary) over(partition by id order by month ) sum_salary, # order by记得排序,不然都是总和。
rank() over(partition by id order by `month` desc) rks  # 按月份排序,跳跃
from employee

LeetCode 【困难】数据库-第579:查询员工的累计薪水

2.去掉最近一个月的,因为月份是按照倒序,所以直接筛选排名第一的就好 ,接着就是按两个字段排序


SELECT t.id, t.`month`, t.sum_salary FROM
(

 SELECT id, `month`, salary,
 SUM(salary) over(PARTITION BY id ORDER BY `month` ROWS 2 PRECEDING) sum_salary, -- 累加的总薪水
 rank() over(PARTITION BY id ORDER BY `month` desc) ranks   -- 排名好去掉最近一个月
 FROM employee
 
) t
WHERE t.ranks > 1
order by id ,`month` desc;

LeetCode 【困难】数据库-第579:查询员工的累计薪水

大佬总结

以上是大佬教程为你收集整理的LeetCode 【困难】数据库-第579:查询员工的累计薪水全部内容,希望文章能够帮你解决LeetCode 【困难】数据库-第579:查询员工的累计薪水所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。