文章目录

  • 1. 题目
  • 2. 解题

1. 题目

表:Orders

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| order_id      | int     |
| customer_id   | int     |
| order_date    | date    |
| item_id       | varchar |
| quantity      | int     |
+---------------+---------+
(order_id, item_id) 是该表主键
该表包含了订单信息
order_date 是id为 item_id 的商品被id为 customer_id 的消费者订购的日期.

表:Items

+---------------------+---------+
| Column Name         | Type    |
+---------------------+---------+
| item_id             | varchar |
| item_name           | varchar |
| item_category       | varchar |
+---------------------+---------+
item_id 是该表主键
item_name 是商品的名字
item_category 是商品的类别

你是企业主,想要获得分类商品和周内每天的销售报告。

写一个SQL语句,报告 周内每天 每个商品类别下订购了多少单位。

返回结果表单 按商品类别排序

查询结果格式如下例所示:

Orders 表:
+------------+--------------+-------------+--------------+-------------+
| order_id   | customer_id  | order_date  | item_id      | quantity    |
+------------+--------------+-------------+--------------+-------------+
| 1          | 1            | 2020-06-01  | 1            | 10          |
| 2          | 1            | 2020-06-08  | 2            | 10          |
| 3          | 2            | 2020-06-02  | 1            | 5           |
| 4          | 3            | 2020-06-03  | 3            | 5           |
| 5          | 4            | 2020-06-04  | 4            | 1           |
| 6          | 4            | 2020-06-05  | 5            | 5           |
| 7          | 5            | 2020-06-05  | 1            | 10          |
| 8          | 5            | 2020-06-14  | 4            | 5           |
| 9          | 5            | 2020-06-21  | 3            | 5           |
+------------+--------------+-------------+--------------+-------------+Items 表:
+------------+----------------+---------------+
| item_id    | item_name      | item_category |
+------------+----------------+---------------+
| 1          | LC Alg. Book   | Book          |
| 2          | LC DB. Book    | Book          |
| 3          | LC SmarthPhone | Phone         |
| 4          | LC Phone 2020  | Phone         |
| 5          | LC SmartGlass  | Glasses       |
| 6          | LC T-Shirt XL  | T-Shirt       |
+------------+----------------+---------------+Result 表:
+------------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+
| Category   | Monday    | Tuesday   | Wednesday | Thursday  | Friday    | Saturday  | Sunday    |
+------------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+
| Book       | 20        | 5         | 0         | 0         | 10        | 0         | 0         |
| Glasses    | 0         | 0         | 0         | 0         | 5         | 0         | 0         |
| Phone      | 0         | 0         | 5         | 1         | 0         | 0         | 10        |
| T-Shirt    | 0         | 0         | 0         | 0         | 0         | 0         | 0         |
+------------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+
在周一(2020-06-01, 2020-06-08),Book分类(ids: 1, 2)下,总共销售了20个单位(10 + 10)
在周二(2020-06-02),Book分类(ids: 1, 2)下,总共销售了5个单位
在周三(2020-06-03),Phone分类(ids: 3, 4)下,总共销售了5个单位
在周四(2020-06-04),Phone分类(ids: 3, 4)下,总共销售了1个单位
在周五(2020-06-05),Book分类(ids: 1, 2)下,总共销售了10个单位,Glasses分类(ids: 5)下,总共销售了5个单位
在周六, 没有商品销售
在周天(2020-06-14, 2020-06-21),Phone分类(ids: 3, 4)下,总共销售了10个单位(5 + 5)
没有销售 T-Shirt 类别的商品

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

2. 解题

Mysql的日期转换成星期[某天对应周几]
dayname 函数返回英文星期几,dayofweek返回第几天,周天是1
date_format + %w,周天返回 0,%W,返回英文星期几

select date_format("2020-7-26",'%W')
union
select date_format("2020-7-26",'%w'){"headers": ["date_format(\"2020-7-26\",'%W')"],
"values": [
["Sunday"],
["0"]]}
# Write your MySQL query statement below
select item_category Category,ifnull(sum(case when dayname(o.order_date)='Monday' then quantity else 0 end), 0) Monday,ifnull(sum(case when dayname(o.order_date)='Tuesday' then quantity else 0 end), 0) Tuesday,ifnull(sum(case when dayname(o.order_date)='Wednesday' then quantity else 0 end), 0) Wednesday,ifnull(sum(case when dayname(o.order_date)='Thursday' then quantity else 0 end), 0) Thursday,ifnull(sum(case when dayname(o.order_date)='Friday' then quantity else 0 end), 0) Friday,ifnull(sum(case when dayname(o.order_date)='Saturday' then quantity else 0 end), 0) Saturday,ifnull(sum(case when dayname(o.order_date)='Sunday' then quantity else 0 end), 0) Sunday
from Items i left join Orders o
using(item_id)
group by item_category
order by item_category

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

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

LeetCode MySQL 1479. 周内每天的销售情况(dayname星期几)相关推荐

  1. mysql+excel:数据分析----餐饮业日销售情况分析仪

    目录 一.介绍 二.KPI指标 三.数据结构信息 四.导入数据库 五.数据处理 六.将mysql数据导入excel中 1.使用ODBC驱动 2.导出newbill表.neworderdetail表和s ...

  2. LeetCode MySQL解题目录

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

  3. mysql 近几天内_MYSQL查询一周内的数据(最近7天的)

    select * from wap_content where week(created_at) = week(now) 如果你要严格要求是某一年的,那可以这样 查询一天: select * from ...

  4. Mysql中DATE_SUB 使用方法结合查询一天内,一周内,一月内的信息实例讲解

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 在对数据查询或菜单时经常要对指定的时间或时间段进行查询,例如要查询一天内的信息,要查询一周内的信息, ...

  5. mysql+excel:数据分析----销售情况分析仪表盘

    目录 一.介绍 二.业务场景定义 三.目标 四.数据探索 1.将数据导入mysql中 2.数据初步探索 五.数据指标 六.数据处理 1.在mysql中处理 2.在power query中处理(exce ...

  6. power bi 日期计算_PowerBI 动态计算周内日权重指数

    在很多行业,尤其是零售业,其销售规律在一周内呈现一定的特点. 例如:平时有一种购买特点:周末有一种购买特点. 故而一周内的星期一到星期日呈现一定的权重分布. 周内日权重分布 1 到 12 表示月序号: ...

  7. LeetCode MySQL 1445. 苹果和桔子

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

  8. mysql查询时间段内的数据

    mysql查询时间段内的数据 -- 今天 select fullName,addedTime from t_user where to_days(addedTime) <= to_days(no ...

  9. 【产业互联网周报】容联云下周纽交所挂牌;声网Agora因Clubhouse股价周内涨超30%;贝索斯将卸任亚马逊CEO...

    关注ITValue,看企业级最新鲜.最价值报道! [产业互联网周报是由钛媒体TMTpost发布的特色产品,将整合本周最重要的企业级服务.云计算.大数据领域的前沿趋势.重磅政策及行研报告.] 本周(2月 ...

最新文章

  1. HOWTO: InstallShield中通过修改注册表关闭Vista/Windows 7的UAC
  2. [Golang学习笔记] 05 程序实体2 作用域访问权限和变量重声明
  3. boost::reverse_graph用法的测试程序
  4. mysql 实时备份_MySQL实现实时备份[转]
  5. 计算机网络-基本概念(7)【网络层】-多协议标记交换MPLS
  6. vue2.5.2版本 :MAC设置应用在127.0.0.1:80端口访问; 并将127.0.0.1指向www.yours.com ;问题“ Invalid Host header”
  7. 华为服务器怎么格式化系统,如何格式化服务器
  8. php多级查询,MySQL 多级查询
  9. 走在梦的路上 绝不回头
  10. Nginx配置Thinkphp3.2.3配置,访问Nginx报 No input file specified. 的问题解决
  11. 在 Azure 虚拟机上快速搭建 MongoDB 集群
  12. 【优化预测】基于matlab粒子群算法优化DBN预测【含Matlab源码 1420期】
  13. VLAN Mapping实现同一网段不同VLAN的主机通信
  14. python绘制隐含波动率曲面_隐含波动率曲面
  15. Android 微信支付的统一下单
  16. 最新emoji表情代码大全_中老年表情包:微信朋友圈早晨问候语带图片 最新早上好问候语动态图片大全...
  17. 基于MATLAB的数字图像处理的设计与实现 转
  18. 最后一公里极速配送(一)
  19. 听完网易大佬描述 “ 软件测试工程师的一生 ”,我哭了!
  20. 斐讯空气检测仪M1使用Easylink配置WIFI的图文教程

热门文章

  1. Java线程池有哪些作用
  2. HTML,CSS的class与id命名规则
  3. Qt Console Application 与 Qt GUI Application互转
  4. afn post请求上传文件_iOS利用AFNetworking(AFN) 实现图片上传
  5. 前端小插件之手写js循环滚动特效
  6. C#中Equals和==的区别 (面试官经常会问到)
  7. layui之在table的编辑的按钮的思考
  8. oracle中scott/tiger、sys、SYSDBA、system都是什么用
  9. 前端开源项目周报0307
  10. LeetCode | HouseCode 算法题