rubus0304 님의 블로그

[데이터분석] 코드카타 96 본문

Data Analyst/daily

[데이터분석] 코드카타 96

rubus0304 2024. 11. 5. 10:03

96. Monthly Transactions I

https://leetcode.com/problems/monthly-transactions-i/description/

 

Write an SQL query to find for each month and country, the number of transactions and their total amount, the number of approved transactions and their total amount.

Return the result table in any order.

 

(시도)  월별, 국가별로 뽑고, 거래횟수는 count로 뽑았는데, group by를 1로 해도 2로 해도 3개가 나오지 않는다.  그리고 나머지는 서브쿼리로 해야하는건가

select date_format(trans_date, '%Y-%m') month,
           country,
           count(trans_date) trans_count
from Transactions
group by 1
 

(정답)  며칠 전 부터 자꾸 count(*) 전체가 나오네.. 요렇게 하면 그냥 다 세어지는것인가-ㅁ-;

sum (case when 구문으로 state가 approve 이면, 1, 아니면 0 끝) 을 승인 된 갯수.

sum (case when 구문으로 state가 approve 이면, amount 아니면 0 끝) 으로 승인된 총 amount

전체 group by 로 month, country   일케 가능!

 

select date_format(trans_date, '%Y-%m') month,
           country,
           count(*) as trans_count,
           SUM(CASE WHEN state = 'approved' THEN 1 ELSE 0 end) as approved_count,
           SUM(amount) as trans_total_amount,
           SUM(CASE WHEN state = 'approved' THEN amount ELSE 0 end) as approved_total_amount
FROM transactions
GROUP BY month, country

 

 

 

 

(참고 블로그)

https://hungdung99.tistory.com/164 

'Data Analyst > daily' 카테고리의 다른 글

[데이터 분석] 코드카타 98  (0) 2024.11.08
[데이터분석] 코드카타 97  (4) 2024.11.06
[데이터분석] 코드카타 95  (3) 2024.11.04
[데이터분석] 코드카타 94  (2) 2024.11.01
[데이터분석] 코드카타 93  (0) 2024.10.31