【每日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
| 1 | 1 | 9000 | 2017-03-31 |
| 2 | 2 | 6000 | 2017-03-31 |
| 3 | 3 | 10000 | 2017-03-31 |
| 4 | 1 | 7000 | 2017-02-28 |
| 5 | 2 | 6000 | 2017-02-28 |
| 6 | 3 | 8000 | 2017-02-28 |
employee_id?字段是表?employee?中?employee_id?字段的外鍵。
| 1 | 1 |
| 2 | 2 |
| 3 | 2 |
對于如上樣例數據,結果為:
| 2017-03 | 1 | higher |
| 2017-03 | 2 | lower |
| 2017-02 | 1 | same |
| 2017-02 | 2 | same |
解釋
在三月,公司的平均工資是 (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丨平均工资:部门与公司比较【难度困难】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android自定义实现FlowLayo
- 下一篇: 【每日SQL打卡】