SQL을 사용한 분기 별 및 요일(한글) 별 데이터 조회 방법

LeeYulhee·2023년 11월 30일
0

👉 분기별 데이터 조회를 위한 SQL 쿼리


SELECT PAYER_NM AS `결제자`
     , YEAR(PAYMENT_DTM)  AS `결제 연도`
     , CASE WHEN MONTH(PAYMENT_DTM) BETWEEN 1  AND 3 THEN '1분기'
            WHEN MONTH(PAYMENT_DTM) BETWEEN 4  AND 6 THEN '2분기'
            WHEN MONTH(PAYMENT_DTM) BETWEEN 7  AND 9 THEN '3분기'
            WHEN MONTH(PAYMENT_DTM) BETWEEN 10 AND 12 THEN '4분기'
       END AS `분기`
     , SUM(PAYMENT_AMOUNT) AS `결제 금액`
  FROM CARD_PAYMENT
 GROUP BY `결제 연도`, `분기`, PAYER_ID
 ORDER BY `결제자`, `결제 연도`, `분기`;
  • CASE 문을 사용하여 각 결제를 해당되는 분기에 할당



👉 한글로 요일 표시하는 SQL 쿼리


SELECT PAYER_NM AS `결제자`
     , MERCHANT_NM AS `가맹점`
     , PAYMENT_AMOUNT AS `결제 금액`
     , PAYMENT_DTM AS `결제 일자`
     , CASE WHEN DAYOFWEEK(PAYMENT_DTM) = 1 THEN '일요일'
            WHEN DAYOFWEEK(PAYMENT_DTM) = 2 THEN '월요일'
            WHEN DAYOFWEEK(PAYMENT_DTM) = 3 THEN '화요일'
            WHEN DAYOFWEEK(PAYMENT_DTM) = 4 THEN '수요일'
            WHEN DAYOFWEEK(PAYMENT_DTM) = 5 THEN '목요일'
            WHEN DAYOFWEEK(PAYMENT_DTM) = 6 THEN '금요일'
            WHEN DAYOFWEEK(PAYMENT_DTM) = 7 THEN '토요일'
       END AS `요일`
  FROM CARD_PAYMENT
 ORDER BY PAYMENT_DTM;
  • CASE 문을 사용해서 요일 별로 한글 요일 부여
    • DAYOFWEEK은 해당 날짜에 대해 1-7을 반환
      • 1은 일요일, 7은 토요일
profile
끝없이 성장하고자 하는 백엔드 개발자입니다.

0개의 댓글