πŸ™Œ
Hands-On Leetcode Database Solution with Hive SQL
(Online Course)Learning SQL with meMy BlogAbout meFollow me on FBFollow my IG
  • INTRODUCTION
    • About This Book
    • δ½œθ€…η°‘δ»‹
  • Exercise 1:185.Department Top Three Salaries
    • Hive Solution
  • Exercise 2:262. Trips and Users
    • Hive Solution
  • Exercise 3:569.Median Employee Salary
    • Hive Solution
  • Exercise 4:571.Find Median Given Frequency of Numbers
    • Hive Solution
  • Exercise 5:579.Find Cumulative Salary Of An Employee Problem
    • Hive Solution
  • Exercise 6:601.Human Traffic of Stadium
    • Hive Solution
  • Exercise 7:615.Average Salary: Departments VS Company
    • Hive Solution
  • Exercise 8:618.Students Report By Geography
    • Hive Solution
  • Exercise 9:1097.Game Play Analysis V
    • Hive Solution
  • Exercise 10:1127.User Purchase Platform
    • Hive Solution
  • Exercise 11:1159.Market Analysis II
    • Hive Solution
  • Exercise 12:1194.Tournament Winners
    • Hive Solution
  • Exercise 13:1225.Report Contiguous Dates
    • Hive Solution
  • Exercise 14:1336.The number of transactions per visit
    • Hive Solution
  • Exercise 15:1369.Get The Second Most Recent Activity
    • Hive Solution
  • Exercise 16:1384.Total Sales Amount by Year
    • Hive Solution
  • Exercise 17:1412.Find the Quiet Students in All Exams
    • Hive Solution
  • Exercise 18:1479. Sales by Day of the Week
    • Hive Solution
  • Exercise 19:1635. Hopper Company Queries I
    • Hive Solution
  • Exercise 20:1645. Hopper Company Queries II
    • Hive Solution
  • Exercise21 :1651. Hopper Company Queries III
    • Hive Solution
  • Exercise 22:1767.Find the Subtasks That Did Not Execute
    • Hive Solution
  • Exercise 23:1892.Page Recommendations II
    • Hive Solution
  • Exercise 24:1917.Leetcodify Friends Recommendations
    • Hive Solution
  • Exercise 25:1919.Leetcodify Similar Friends
    • Hive Solution
  • Exercise 26:1972.First and Last Call On the Same Day
    • Hive Solution
  • Exercise 27:2004.The Number of Seniors and Juniors to Join the Company
    • Hive Solution
  • Exercise 28:2010.The Number of Seniors and Juniors to Join the Company II
    • Hive Solution
Powered by GitBook
On this page
  • 1.Description
  • 2.Create Table and insert into values

Exercise 5:579.Find Cumulative Salary Of An Employee Problem

1.Description

The Employee table holds the salary information in a year.

Write a SQL to get the cumulative sum of an employee’s salary over a period of 3 months but exclude the most recent month.

The result should be displayed by β€˜Id’ ascending, and then by β€˜Month’ descending.

Example Input

| Id | Month | Salary |
|----|-------|--------|
| 1  | 1     | 20     |
| 2  | 1     | 20     |
| 1  | 2     | 30     |
| 2  | 2     | 30     |
| 3  | 2     | 40     |
| 1  | 3     | 40     |
| 3  | 3     | 60     |
| 1  | 4     | 60     |
| 3  | 4     | 70     |

Output

| Id | Month | Salary |
|----|-------|--------|
| 1  | 3     | 90     |
| 1  | 2     | 50     |
| 1  | 1     | 20     |
| 2  | 1     | 20     |
| 3  | 3     | 100    |
| 3  | 2     | 40     |

Explanation:Employee β€˜1’ has 3 salary records for the following 3 months except the most recent month β€˜4’: salary 40 for month β€˜3’, 30 for month β€˜2’ and 20 for month β€˜1’ So the cumulative sum of salary of this employee over 3 months is 90(40+30+20), 50(30+20) and 20 respectively.

| Id | Month | Salary |
|----|-------|--------|
| 1  | 3     | 90     |
| 1  | 2     | 50     |
| 1  | 1     | 20     |

Employee β€˜2’ only has one salary record (month β€˜1’) except its most recent month β€˜2’.

| Id | Month | Salary |
|----|-------|--------|
| 2  | 1     | 20     |

Employ β€˜3’ has two salary records except its most recent pay month β€˜4’: month β€˜3’ with 60 and month β€˜2’ with 40. So the cumulative salary is as following.

| Id | Month | Salary |
|----|-------|--------|
| 3  | 3     | 100    |
| 3  | 2     | 40     |

2.Create Table and insert into values

create table if not exists leetcode.ex_579_employee
(
 id int, 
 month int,
 salary int
)  stored as orc ;

INSERT INTO table leetcode.ex_579_employee  VALUES
('1' , '1' ,'20'),
('2' , '1' ,'20'),
('1' , '2' ,'30'),
('2' , '2' ,'30' ),
('3' , '2' ,'40' ),
('1' , '3' ,'40' ),
('3' , '3' ,'60' ),
('1' , '4' ,'60' ),
('3' , '3' ,'70' )

PreviousHive SolutionNextHive Solution

Last updated 3 years ago