LC 速查

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);

数据表:Customer · 关键字:从第 7 个营业日起,输出每天的日期、近 7 天总营业额和日均(保留 2 位小数)

← 上一题 电影评分好友申请 II :谁有最多的好友 下一题 →