본 내용은 데이터리안 'SQL 데이터 분석 캠프 실전반'을 수강하며 작성한 내용입니다.
solvesql / 데이터셋: waiter's tips
Q. 요일 별로 가장 높은 금액의 결제 내역들을 출력해 주세요.
SELECT AVG(sales)
FROM (
SELECT day
, SUM(total_bill) sales
FROM tips
GROUP BY day
) AS dail_sales
WITH daily_sales AS (SELECT day
, SUM(total_bill) sales
FROM tips
GROUP BY day
)
SELECT AVG(sales)
FROM daily_sales
solvesql / 데이터셋: waiter's tips
Q. 각 영수 금액이, 요일별 매출액에서 차지하는 비율을 계산해 주세요.
WITH sales AS (
SELECT day, SUM(total_bill) AS daily_sales
FROM tips
GROUP BY day
)
SELECT t.day, t.total_bill, ROUND(t.total_bill * 100 / s.daily_sales, 2) AS pct
FROM tips t, sales s
ORDER BY t.total_bill DESC
WITH daily_sales AS (
SELECT day, SUM(total_bill) AS sales
FROM tips
GROUP BY day
)
SELECT t.day
, t.total_bill
, ROUND(t.total_bill * 100 / ds.sales, 2) AS pct
FROM tips AS t
INNER JOIN daily_sales AS ds ON t.day = ds.day
ORDER BY t.total_bill DESC