每日SQL打卡​​​​​​​​​​​​​​​DAY 9丨平均工资:部门与公司比较难度困难

Posted 不吃西红柿丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日SQL打卡​​​​​​​​​​​​​​​DAY 9丨平均工资:部门与公司比较难度困难相关的知识,希望对你有一定的参考价值。

 活动介绍:
「数据仓库技术交流群」已经正式启动每日SQL打卡,帮助大家扎实基础,努力工作之余,别忘了自我提升。

欢迎报名和邀请小伙伴参与,一个人可能走得很快,但一群人会走得很远。

🍅题目汇总(收藏复习):https://blog.csdn.net/weixin_39032019/category_11459536.html

🍅发帖打卡(多种解法):https://bbs.csdn.net/forums/ITID?typeId=18647    

🍅交个朋友:https://app.yinxiang.com/fx/13ce6bbd-f36f-4e92-be53-92dd381ed729

难度困难

SQL架构

给如下两个表,写一个查询语句,求出在每一个工资发放日,每个部门的平均工资与公司的平均工资的比较结果 (高 / 低 / 相同)。

表: salary

idemployee_idamountpay_date
1190002017-03-31
2260002017-03-31
33100002017-03-31
4170002017-02-28
5260002017-02-28
6380002017-02-28

employee_id 字段是表 employee 中 employee_id 字段的外键。

employee_iddepartment_id
11
22
32

对于如上样例数据,结果为:

pay_monthdepartment_idcomparison
2017-031higher
2017-032lower
2017-021same
2017-022same

解释

在三月,公司的平均工资是 (9000+6000+10000)/3 = 8333.33...

由于部门 '1' 里只有一个 employee_id 为 '1' 的员工,所以部门 '1' 的平均工资就是此人的工资 9000 。因为 9000 > 8333.33 ,所以比较结果是 'higher'。

第二个部门的平均工资为 employee_id 为 '2' 和 '3' 两个人的平均工资,为 (6000+10000)/2=8000 。因为 8000 < 8333.33 ,所以比较结果是 'lower' 。

在二月用同样的公式求平均工资并比较,比较结果为 'same' ,因为部门 '1' 和部门 '2' 的平均工资与公司的平均工资相同,都是 7000 。

 已经有思路?开始打卡吧!

打卡地址:https://bbs.csdn.net/forums/ITID?typeId=18647    右上角【发帖】

添加文末公众号「信息技术智库」:

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(mysql、Hive、Spark、Flink)、数据仓库、前端等。

👇👇技术交流、非诚勿👇👇

以上是关于每日SQL打卡​​​​​​​​​​​​​​​DAY 9丨平均工资:部门与公司比较难度困难的主要内容,如果未能解决你的问题,请参考以下文章

每日SQL打卡​​​​​​​​​​​​​​​DAY 10丨换座位难度中等

每日SQL打卡​​​​​​​​​​​​​​​DAY 3丨行程和用户难度困难

每日SQL打卡​​​​​​​​​​​DAY 2 丨组合两个表难度简单

每日SQL打卡​​​​​​​​​​​​​​​DAY 7丨大的国家难度简单

每日SQL打卡​​​​​​​​​​​​​​​DAY 9丨有趣的电影难度简单

每日SQL打卡​​​​​​​​​​​​​​​DAY 7丨字节面试真题难度困难