Leetcode SQL50 (1321)

Pocketopi·2025년 4월 26일

[MYSQL] Leetcode

목록 보기
21/34
post-thumbnail

🔔 문제

그 날로부터 일주일간의 총매출과 하루 매출 평균을 구하라.
[Restaunrant Growth]

🎯 풀이 전략

🔑 핵심 포인트

하루에 최소 하나의 행을 갖는다.
즉, 2개 이상이 존재할 수 있으므로 WITH문을 이용해 하루 총 매출로 묶어 주었다.
그 후 일주일간의 총매출과 하루 평균 매출을 구해주었다.

💻 정답 쿼리 예시

WITH DAY AS (
    SELECT VISITED_ON, SUM(AMOUNT) AS AMOUNT
    FROM CUSTOMER
    GROUP BY VISITED_ON
)

SELECT A.VISITED_ON, SUM(B.AMOUNT) AS AMOUNT, ROUND(AVG(B.AMOUNT),2) AS AVERAGE_AMOUNT
FROM DAY A JOIN DAY B
ON B.VISITED_ON BETWEEN DATE_SUB(A.VISITED_ON, INTERVAL 6 DAY) AND A.VISITED_ON
GROUP BY A.VISITED_ON
HAVING COUNT(B.VISITED_ON) = 7
ORDER BY A.VISITED_ON

💡 핵심문법 및 배운 점

  • WITH : 새 CRE 생성
  • DATE_SUB(DATE, INTERVAL N UNIT) : DATE에서 N 만큼의 UNIT을 빼는 함수
    가능 UNIT : HOUR, DAY, MONTH, YEAR 등

⏱️ 걸린 시간: 13분 32초

profile
통계학/컴퓨터공학 전공 4학년 학생 DA뿌수기 일기장

0개의 댓글