Leetcode PostgreSQL Monthly Transactions I

업데이트:

문제

Link

코드

-- 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

결과

Link

설명

  1. Transactions 테이블에서 월, 지역 별 아래의 산술 지표를 구하는 문제이다.
    • trans_count는 두 조건 내 해당하는 데이터의 갯수이다.
    • approved_count는 두 조건 내 해당하는 데이터 중 state가 approved인 갯수이다.
      • state가 approved인 값을 1, 나머지를 0으로 설정하였기 때문에 SUM인 합계를 활용하여 갯수를 계산한다.
    • trans_total_amount는 두 조건 내 해당하는 amount의 합이다.
    • approved_total_amount는 두 조건 내 해당하는 데이터 중 state가 approved인 amount의 합이다.

댓글남기기