[LeetCode-SQL 50] 1193. Monthly Transactions I

코린이·2025년 6월 2일

SQL 문제 풀이 (MySQL)

목록 보기
66/96

❓ 문제

Transactions
+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| id            | int     |
| country       | varchar |
| state         | enum    |
| amount        | int     |
| trans_date    | date    |
+---------------+---------+

id는 이 테이블의 기본 키입니다.
이 테이블에는 들어오는 트랜잭션에 대한 정보가 있습니다.
state 열은 ["승인됨", "거부됨"] 유형의 열거형입니다.

월별, 국가별 거래 수와 총 금액, 승인된 거래 수와 총 금액을 찾기 위한 SQL 쿼리를 작성합니다.

결과 테이블을 임의의 순서로 반환합니다.

자세한 문제 내용은 사이트 참고...


❗️ 문제 풀이

SELECT
    DATE_FORMAT(trans_date, '%Y-%m') AS month
    , country
    , COUNT(DATE_FORMAT(trans_date, '%Y-%m')) 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 DATE_FORMAT(trans_date, '%Y-%m'), country
;

🔗 Reference

https://leetcode.com/problems/monthly-transactions-i/description/?envType=study-plan-v2&envId=top-sql-50

0개의 댓글