首页 > 其他分享 >1321. 餐馆营业额变化增长

1321. 餐馆营业额变化增长

时间:2023-07-01 21:24:03浏览次数:49  
标签:营业额 1321 2019 120 amount 01 餐馆 110 visited

1321. 餐馆营业额变化增长

SQL架构

表: 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 天)为一个时间段的顾客消费平均值。average_amount 要 保留两位小数。

查询结果按 visited_on 排序。

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

 

示例 1:

输入:
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 是restaurant-growth/restaurant-growth/ (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
select 
    a.visited_on, 
    sum(b.amount) amount, 
    round(avg(b.amount),2) average_amount
from 
    # 一天可能有多个人购买东西
    (select visited_on, sum(amount) amount 
    from customer 
    group by visited_on 
    order by visited_on) a
left join 
    (select visited_on, sum(amount) amount 
    from customer 
    group by visited_on 
    order by visited_on) b
on datediff(a.visited_on,b.visited_on) between 0 and 6
group by a.visited_on
having count(*) = 7

 

标签:营业额,1321,2019,120,amount,01,餐馆,110,visited
From: https://www.cnblogs.com/fulaien/p/17519938.html

相关文章

  • 四川情侣餐馆大堂装饰镜面不锈钢桃花树雕塑厂家
    四川情侣餐馆大堂装饰镜面不锈钢桃花树雕塑厂家不锈钢桃花树雕塑色彩鲜美,手工锻造不锈钢桃花雕塑,仿真不锈钢粉色桃花雕塑万绿丛中一点红可以想象得到万绿丛中一点红的效果,一片绿油油的草地中盛开几束美丽的鲜花,她将是万总瞩目的焦点!不锈钢桃花树雕塑采用2mm不锈钢板材锻造,表面环氧......
  • Python+pandas使用交叉表分析超市营业额数据
    交叉表是一种特殊的透视表,往往用来统计频次,也可以使用参数aggfunc指定聚合函数实现其他功能。扩展库pandas提供了crosstab()函数用来生成交叉表,返回新的DataFrame,其语法为:crosstab(index,columns,values=None,rownames=None,colnames=None,aggfunc=None,margins=False,dropn......
  • 1321. 餐馆营业额变化增长
    【题目】表:Customer+---------------+---------+|ColumnName  |Type   |+---------------+---------+|customer_id  |int    ||name         |varchar||visited_on   |date   ||amount       |int    |+-----------......
  • 开餐馆
    题目描述北大信息学院的同学小明毕业之后打算创业开餐馆。现在共有nnn个地点可供选择,小明打算从中选择合适的位置开设一些餐馆。这 nnn个地点排列在同一条直线上。我们用一个整数序列m1,m2,…,mnm_1,m_2,\dots,m_nm1​,m2​,…,mn​来表示他们的相对位置。由于地段关......
  • leetcode 1321 餐館營業額變化增長
    leetcode1321餐館營業額變化增長selectdistinctc2.visited_on,(selectsum(amount)fromCustomerc1wherec1.visited_on<=c2.visited_onandc1.visited_on>=date_sub(c2.visited_on,interval6day))asamount,round((selectsum(amount)fromCustomerc1......
  • kuangbin专题一 简单搜索 棋盘问题(POJ-1321)
    棋盘问题TimeLimit:1000MS MemoryLimit:10000KTotalSubmissions:125427 Accepted:56304Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘......
  • 2023/1/16 20221321杨渝学习打卡
    python入门学习学习链接:https://www.bilibili.com/video/BV14r4y1k7F9/?spm_id_from=333.999.0.0&vd_source=a989a1afa6cb8b6527dd9bf059d71439字典的循环打印(解构)字典......
  • 2023/1/15 20221321杨渝学习打卡
    python学习学习链接:https://www.bilibili.com/video/BV14r4y1k7F9/?spm_id_from=333.999.0.0&vd_source=a989a1afa6cb8b6527dd9bf059d71439对字典的操作字典的使用对......
  • 2023/1/14 20221321杨渝学习打卡
    python学习学习链接:https://www.bilibili.com/video/BV14r4y1k7F9/?spm_id_from=333.999.0.0&vd_source=a989a1afa6cb8b6527dd9bf059d71439元组字典元组元组,英文为t......
  • POJ1321 棋盘问题
    POJ1321棋盘问题在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状......