출처
문제
Write a solution to calculate the number of bank accounts for each salary category. The salary categories are:
- "Low Salary": All the salaries strictly less than .$20000
- "Average Salary": All the salaries in the inclusive range .[$20000, $50000]
- "High Salary": All the salaries strictly greater than .$50000
The result table must contain all three categories. If there are no accounts in a category, return .0
Return the result table in any order.
문제에 대한 해석
-- whghl : category , accounts_count
-- Low Salary < 20000
-- 20000 <= Average Salary <=50000
-- High Salary > 50000
-- 조건: 모든 범주가 있어야 함
Average Salary에 포함되는 income부재 |
그래도 항목에는 있어야 함 |
풀이(MYSQL)
select 'Low Salary' as Category, sum(if(income < 20000,1,0)) as accounts_count
from Accounts
union
select 'Average Salary' as Category, sum(if(income between 20000 and 50000,1,0)) as accounts_count
from Accounts
union
select 'High Salary' as Category, sum(if(income > 50000,1,0)) as accounts_count
from Accounts
작동순서
💡SQL 실행 순서는 From -> Where -> Group by -> Having -> Select -> Order by ->결과반환
- SELECT 절: Category라는 컬럼을 만들어 Low Salary 데이터 추가하고, income의 값이 20000보다 작으면 1아니면 0을 하여 합하라
- SELECT 절 : Category라는 컬럼을 만들어 Average Salary 데이터 추가하고, income의 값이 20000과 50000사이면1 아니면 0을 하여 합하라
- SELECT 절 : Category라는 컬럼을 만들어 High Salary 데이터 추가하고,income의 값이50000보다 크면 1아니면 0을 하여 합하
배운점
- select문을 통해 새로운 데이터(열) 추가하기
- SELECT '추가데이터' AS NEW_COLUMN
'문제풀이 > SQL(My sql)' 카테고리의 다른 글
[문제풀이] 프로그래머스 - 우유와 요거트가 담긴 장바구니 (3) | 2024.07.01 |
---|---|
[문제풀이] 프로그래머스 - 입양 시각 구하기(2) (2) | 2024.06.28 |
[문제풀이] 프로그래머스 - 대장균의 크기에 따라 분류하기 2 (0) | 2024.06.27 |
[문제풀이] Leet code - Confirmation Rate (0) | 2024.06.26 |
[문제풀이] 프로그래머스 - 대장균들의 자식의 수 구하기 (0) | 2024.06.26 |