文章目录

  • 1. 题目
  • 2. 解题

1. 题目

表: Customer

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| customer_id   | int     |
| name          | varchar |
| visited_on    | date    |
| amount        | int     |
+---------------+---------+
(customer_id, visited_on) 是该表的主键
该表包含一家餐馆的顾客交易数据
visited_on 表示 (customer_id) 的顾客在 visited_on 那天访问了餐馆
amount 是一个顾客某一天的消费总额

你是餐馆的老板,现在你想分析一下可能的营业额变化增长(每天至少有一位顾客)

写一条 SQL 查询计算以 7 天(某日期 + 该日期前的 6 天)为一个时间段的顾客消费平均值

查询结果格式的例子如下:

查询结果按 visited_on 排序
average_amount 要 保留两位小数,日期数据的格式为 (‘YYYY-MM-DD’)

Customer 表:
+-------------+--------------+--------------+-------------+
| customer_id | name         | visited_on   | amount      |
+-------------+--------------+--------------+-------------+
| 1           | Jhon         | 2019-01-01   | 100         |
| 2           | Daniel       | 2019-01-02   | 110         |
| 3           | Jade         | 2019-01-03   | 120         |
| 4           | Khaled       | 2019-01-04   | 130         |
| 5           | Winston      | 2019-01-05   | 110         |
| 6           | Elvis        | 2019-01-06   | 140         |
| 7           | Anna         | 2019-01-07   | 150         |
| 8           | Maria        | 2019-01-08   | 80          |
| 9           | Jaze         | 2019-01-09   | 110         |
| 1           | Jhon         | 2019-01-10   | 130         |
| 3           | Jade         | 2019-01-10   | 150         |
+-------------+--------------+--------------+-------------+结果表:
+--------------+--------------+----------------+
| visited_on   | amount       | average_amount |
+--------------+--------------+----------------+
| 2019-01-07   | 860          | 122.86         |
| 2019-01-08   | 840          | 120            |
| 2019-01-09   | 840          | 120            |
| 2019-01-10   | 1000         | 142.86         |
+--------------+--------------+----------------+第一个七天消费平均值从 2019-01-01 到 2019-01-07 是 (100 + 110 + 120 + 130 + 110 + 140 + 150)/7 = 122.86
第二个七天消费平均值从 2019-01-02 到 2019-01-08 是 (110 + 120 + 130 + 110 + 140 + 150 + 80)/7 = 120
第三个七天消费平均值从 2019-01-03 到 2019-01-09 是 (120 + 130 + 110 + 140 + 150 + 80 + 110)/7 = 120
第四个七天消费平均值从 2019-01-04 到 2019-01-10 是 (130 + 110 + 140 + 150 + 80 + 110 + 130 + 150)/7 = 142.86

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/restaurant-growth
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

# Write your MySQL query statement below
select *
from
(select visited_on, sum(amount) over(order by visited_on rows 6 preceding) amount,round(avg(amount) over(order by visited_on rows 6 preceding),2) average_amount# 窗口函数求前6天+当天的 指标from(   # 先把每一天的收入加总select visited_on, sum(amount) amountfrom Customergroup by visited_on) t
) temp
where datediff(visited_on, (select min(visited_on) from Customer)) >= 6
# 所有的指标去除不满7天的
order by visited_on

我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode MySQL 1321. 餐馆营业额变化增长(over窗口函数)相关推荐

  1. 【LC中等】1321. 餐馆营业额变化增长

    ❤️博客主页: 楚生辉 ❤️系列专栏:[LeetCode刷题] ❤️一句短话: 坚持不懈,孜孜不倦 1.题目描述 表: Customer +---------------+---------+ | C ...

  2. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 26丨餐馆营业额变化增长【难度中等】​

    [未来的你,会感谢今天努力的你]每日两题,一难一易,每天进步一点点,可能会直接导致一场面试的成功,或工作的轻松搞定,从而升职加薪迎娶白富美,加油小伙伴!

  3. 「SQL面试题库」 No_92 餐馆营业额变化增长

  4. LeetCode MySQL 569. 员工薪水中位数(over窗口函数)

    文章目录 1. 题目 2. 解题 1. 题目 Employee 表包含所有员工.Employee 表有三列:员工Id,公司名和薪水. +-----+------------+--------+ |Id ...

  5. LeetCode MySQL 585. 2016年的投资(窗口函数over(partition by xx))

    文章目录 1. 题目 2. 解题 1. 题目 写一个查询语句,将 2016 年 (TIV_2016) 所有成功投资的金额加起来,保留 2 位小数. 对于一个投保人,他在 2016 年成功投资的条件是: ...

  6. LeetCode MySQL解题目录

    已完成的 LeetCode MySQL 数据库题目.点击查看我的 LeetCode 算法解题目录. 已解决 123/123 - 简单 54 中等 51 困难 18 前置入门学习 MySQL 基本查询. ...

  7. mysql 序列自增长 恢复到1_大数据教程分享MySQL数据库约束条件和自增长序列

    大数据教程分享MySQL数据库约束条件和自增长序列,一.约束(constraint) 约束就是在表上强制执行的一种校验规则,当执行DML操作时,数据必须符合这些规则,如果不符合,将无法执行. 约束的全 ...

  8. LeetCode MySQL 1308. 不同性别每日分数总计(累加/变量/窗口函数)

    文章目录 1. 题目 2. 解题 1. 题目 表: Scores +---------------+---------+ | Column Name | Type | +--------------- ...

  9. mysql怎么设置主键增长序列_mysql 如何设置自动增长序列 sequence(一)

    背景:由于项目需要,必须用mysql设置主键自增长,而且想用字符串的.经过上网查找并且实验,终于做出了一套方案.现在就共享给大家! 解决思路:由于mysql不带sequence,所以要手写的,创建一张 ...

最新文章

  1. 电子科大邹权组招聘博后、科研助理和访问学生(生物信息学方向)
  2. 解决Ext JS 4.1版本Tree在刷新时选择第一行的问题
  3. pycharm 添加数据库驱动
  4. Linux下安装配置EasyPR中文车牌识别系统
  5. 【转】wpf从我炫系列2----布局控件的使用(下)
  6. 论文浅尝 | 基于知识图谱注意力网络的商品推荐
  7. Mysql 导出 sql的执行结果到 csv文件
  8. 将C#Lambda表达式转换为通用过滤器描述符和HTTP查询字符串
  9. lssvm回归 matlab,lssvm回归预测的程序运行不了 求高手修改指点
  10. java final 内存语义_final 域的内存语义
  11. python包的init文件_Python模块包中__init__.py文件的作用
  12. 炫酷收徒技术网络网站源码
  13. HTML5:Animate cc交互之“影片剪辑”实现“按钮”功能
  14. 吃冬瓜对宝宝有什么好处?
  15. android毛玻璃壁纸效果,【手机教程大赛】制作 毛玻璃效果 壁纸
  16. 微信小程序之callout自定义气泡
  17. 阿里云大数据助理工程师ACA认证最新笔记(2021)
  18. 【ros学习】14.urdf、xacro机器人建模与rviz、gazebo仿真详解
  19. ICMP重定向数据包分析
  20. 恶意软件及其类型(病毒、蠕虫、木马、间谍软件、勒索软件、恐吓软件、Bots和Rootkits等)的介绍

热门文章

  1. Css颜色和文本字体
  2. 将本地Blog部署到GitHub上,有自己的博客页面!
  3. smart gesture安装失败_WinCC flexible SMART V3 SP2安装步骤以及常见错误解决方法
  4. DebugView使用笔记
  5. 复制表、复制表结构、复制数据
  6. maven详解之仓库
  7. 使用OpenXml打开word文档中嵌入的另一个文档
  8. 交换两个整型变量的数值
  9. 9.带有返回值的函数
  10. 简单几何(极角排序) POJ 2007 Scrambled Polygon