Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

Studying data

[HackerRank] Aggregation > Top Earners 본문

SQL

[HackerRank] Aggregation > Top Earners

halloweenie 2022. 12. 29. 22:22

We define an employee's total earnings to be their monthly  worked, and the maximum total earnings to be the maximum total earnings for any employee in the Employee table. Write a query to find the maximum total earnings for all employees as well as the total number of employees who have maximum total earnings. Then print these values as  2 space-separated integers.

 

Input Format

The Employee table containing employee data for a company is described as follows:

where employee_id is an employee's ID number, name is their name, months is the total number of months they've been working for the company, and salary is the their monthly salary.

 

Sample Input

 

Sample Output

69952 1

 

Explanation

The table and earnings data is depicted in the following diagram:

The maximum earnings value is 69952. The only employee with earnings = 69952 is Kimberly, so we print the maximum earnings value (69952) and a count of the number of employees who have earned $69952  (which is 1) as two space-separated values.


[MySQL Solution 1]

select (salary * months) as earnings, count(*)
from employee
group by 1
order by 1 desc
limit 1;

 

[MySQL Solution 2]

SELECT MAX(salary * months), COUNT(*) 
FROM employee 
WHERE (salary * months) = (SELECT MAX(salary * months) FROM employee);

 

 

문제 링크:

https://www.hackerrank.com/challenges/earnings-of-employees/problem?isFullScreen=true 

Comments