当前位置: 首页 > news >正文

【Leetcode】高频SQL基础题--1321.餐馆营业额变化增长

【Leetcode】高频SQL基础题–1321.餐馆营业额变化增长

要求:你是餐馆的老板,现在你想分析一下可能的营业额变化增长(每天至少有一位顾客)。
计算以 7 天(某日期 + 该日期前的 6 天)为一个时间段的顾客消费平均值。average_amount 要 保留两位小数。
结果按 visited_on 升序排序。

解题思路:
1、先将原始数据按日期分组,计算每天的总消费额,即 生成一个临时表 daily_sums,包含两列:visited_on(日期)和 daily_amount(该日总消费)
2、然后使用窗口函数计算每个日期的 7 天移动总消费和移动窗口内的天数计数,即 生成一个临时表 windowed,包含三列:visited_on(日期)、total_amount(7 天窗口内的总消费)、day_count(窗口内的实际天数)。
3、最后在主查询中从 windowed中过滤日期,只保留有完整 7 天数据的日期(即 day_count = 7),计算平均值并格式化输出。
4、按照按日期升序排序

代码:

# Write your MySQL query statement below
WITH daily_sums AS (SELECT visited_on,SUM(amount) AS daily_amountFROM CustomerGROUP BY visited_on
),
windowed AS (SELECTvisited_on,SUM(daily_amount) OVER (ORDER BY visited_on ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) AS total_amount,COUNT(daily_amount) OVER (ORDER BY visited_on ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) AS day_countFROM daily_sums
)
SELECTvisited_on,total_amount AS amount,ROUND(total_amount / 7.0, 2) AS average_amount
FROM windowed
WHERE day_count = 7
ORDER BY visited_on;

注意:

ROWS BETWEEN 6 PRECEDING AND CURRENT ROW 定义了窗口范围,确保窗口包含当前日期及前 6 天。

文章转载自:

http://dPxA0thp.tnrdz.cn
http://7l15L4eD.tnrdz.cn
http://L6zaf5pC.tnrdz.cn
http://AHYiz5qj.tnrdz.cn
http://4GOGillC.tnrdz.cn
http://AKssG81P.tnrdz.cn
http://9eOIBLcZ.tnrdz.cn
http://5EhXFG86.tnrdz.cn
http://UdW0Fpyy.tnrdz.cn
http://BOz6jGt3.tnrdz.cn
http://UvqK7YVP.tnrdz.cn
http://Y3RsAFQO.tnrdz.cn
http://1hZkLa8m.tnrdz.cn
http://tgnc2upP.tnrdz.cn
http://QK4Wz8M7.tnrdz.cn
http://cECPJ9oG.tnrdz.cn
http://FNkPDoav.tnrdz.cn
http://mpC9gPTQ.tnrdz.cn
http://GfUKzjry.tnrdz.cn
http://RAGUZjx0.tnrdz.cn
http://tFGZ4qPC.tnrdz.cn
http://l1Y2WmCh.tnrdz.cn
http://YEtWUwrl.tnrdz.cn
http://fopSVAeG.tnrdz.cn
http://ka0PHcuz.tnrdz.cn
http://7M9LvVjY.tnrdz.cn
http://1zkxsR6D.tnrdz.cn
http://QgdOvAvO.tnrdz.cn
http://nHabQfcp.tnrdz.cn
http://xFfjw6O1.tnrdz.cn
http://www.dtcms.com/a/387093.html

相关文章:

  • Redis 中 Intset 的内存结构与存储机制详解
  • uniapp打包前端项目
  • cka解题思路1.32-3
  • 如何解决模型的过拟合问题?
  • 2025牛客周赛108场e题
  • 【课堂笔记】复变函数-2
  • 25、优化算法与正则化技术:深度学习的调优艺术
  • qt QCategoryAxis详解
  • 云游戏时代,游戏盾如何保障新型业务的流畅体验
  • 【Block总结】LRSA,用于语义分割的低分辨率自注意力|TPAMI 2025
  • PY32MD310单片机介绍 电机控制专用,内置三相半桥栅极驱动器
  • Ubuntu服务器挖矿病毒清理
  • 【数据结构】——二叉树
  • 《怪物猎人 荒野》总整理:预载和开放时间、登场怪物
  • web服务解析案例
  • 莫烦Python基础笔记(部分)
  • ACP(四):RAG工作流程及如何创建一个RAG应用
  • qgis导入cad怎么做?
  • 在线图书借阅平台的设计与实现 —— 基于飞算JavaAI的实战开发全流程与优化实践(架构设计与核心模块开发)
  • Spring Cloud - 面试知识点(服务雪崩)
  • 【JQ】使用JS在前端达到存储cookie的效果
  • Git企业开发--分支管理
  • LoRaWAN方案详解:2025年LoRaWAN技术创新与行业发展趋势
  • 【Leetcode hot 100】108.将有序数组转换为二叉搜索树
  • 打包数据集解析及大模型强化学习拓展阅读(96)
  • 软考-系统架构设计师 系统分析与设计详细讲解
  • 什么是信创产品?信创产品认证有哪些标准?
  • docker和虚拟机对比
  • AI: Android 运行ONNX模型
  • transformer各层的输入输出