Leetcode PostgreSQL Monthly Transactions I
업데이트:
문제
코드
-- Write your PostgreSQL query statement below
SELECT
TO_CHAR(trans_date, 'YYYY-MM') AS 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 TO_CHAR(trans_date, 'YYYY-MM'), country
결과
설명
- Transactions 테이블에서 월, 지역 별 아래의 산술 지표를 구하는 문제이다.
- trans_count는 두 조건 내 해당하는 데이터의 갯수이다.
- approved_count는 두 조건 내 해당하는 데이터 중 state가 approved인 갯수이다.
- state가 approved인 값을 1, 나머지를 0으로 설정하였기 때문에 SUM인 합계를 활용하여 갯수를 계산한다.
- trans_total_amount는 두 조건 내 해당하는 amount의 합이다.
- approved_total_amount는 두 조건 내 해당하는 데이터 중 state가 approved인 amount의 합이다.
댓글남기기