Contents
내가 작성한 쿼리
월별 및 국가별로 SQL 쿼리를 작성하여 거래 수와 총액, 승인된 거래 수와 총액을 찾습니다. 결과 테이블을 순서에 상관없이 반환하세요.
내가 작성한 쿼리
MySQL
SELECT t2.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 ( -- 년-월을 나타내는 컬럼을 추가한 테이블 서브쿼리 SELECT *, DATE_FORMAT(trans_date, '%Y-%m') AS month FROM Transactions ) t2 GROUP BY country, month
Oracle
SELECT t2.month, t2.country, COUNT(*) AS trans_count, SUM(CASE WHEN t2.state = 'approved' THEN 1 ELSE 0 END) AS approved_count, SUM(t2.amount) AS trans_total_amount, SUM(CASE WHEN t2.state = 'approved' THEN t2.amount ELSE 0 END) AS approved_total_amount FROM ( -- 년-월 컬럼을 추가한 서브쿼리 SELECT t.*, TO_CHAR(trans_date, 'YYYY-MM') AS month FROM Transactions t ) t2 GROUP BY t2.country, t2.month;
차이점
- 날짜 포맷 함수 차이
Share article