leet code sql 1193
1193. Monthly Transactions I
문제
- 트랜잭션이 발생한 날짜를 month, country 기준으로 모은다.
- state 별로 승인이 된 경우와 전체 트랜잭션 기준으로 데이터를 추출
문제 접근
- redshift에서는 to_date를 사용하지만, mysql에서는 date_format을 사용
- group by와 case when을 사용하여 각 케이스 별로 나누어 구성
1
2
3
4
5
6
7
8
9
select
DATE_FORMAT(trans_date, '%Y-%m') month,
country,
count(*) trans_count,
count(case when state = 'approved' then 1 end) approved_count,
sum(amount) trans_total_amount,
sum(case when state = 'approved' then amount else 0 end) approved_total_amount
from Transactions
group by 1, 2