SQL 50 › 索引 › A6 Subqueries 子查询
LC 1321餐馆营业额变动增长Restaurant Growth 中等
Customer 表记录顾客每日消费;从第 7 个营业日起,输出每天的日期、近 7 天总营业额和日均(保留 2 位小数)。
思路 窗口 RANGE 6 PRECEDING 滚动 7 天求和,DISTINCT 去重后过滤前 6 天。
SELECT visited_on, amount, average_amount FROM ( SELECT DISTINCT visited_on, SUM(amount) OVER w AS amount, ROUND(AVG(amount) OVER w, 2) AS average_amount FROM Customer WINDOW w AS (ORDER BY visited_on RANGE BETWEEN 6 PRECEDING AND CURRENT ROW) ) T WHERE visited_on >= ( SELECT MIN(visited_on) + INTERVAL 6 DAY FROM Customer);