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

文章目录

    • 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阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474604.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php的swoole教程,PHP + Swoole2.0 初体验(swoole入门教程)

PHP Swoole2.0 初体验(swoole入门教程)环境:centos7 PHP7.1 swoole2.0准备工作:一、 swoole 扩展安装1 、下载swoolecd/usr/localwget -c https://github.com/swoole/swoole-src/archive/v2.0.8.tar.gztar -zxvf v2.0.8.tar.gzcdswoole-src-2.0.8/2 编…

Git常用命令解说

http://zensheno.blog.51cto.com/2712776/490748 1. Git概念 1.1. Git库中由三部分组成 Git 仓库就是那个.git 目录,其中存放的是我们所提交的文档索引内容,Git 可基于文档索引内容对其所管理的文档进行内容追踪,从而实现文档的版本控…

LeetCode MySQL 1412. 查找成绩处于中游的学生

文章目录1. 题目2. 解题1. 题目 表: Student ------------------------------ | Column Name | Type | ------------------------------ | student_id | int | | student_name | varchar | ------------------------------ student_id 是该表…

java jvm目录,JVM(Java虚拟机)中过程工作目录讲解

JVM(Java虚拟机)中进程工作目录讲解每次我们用Java命令运行我们的Java程序,都会在JVM中开启一个进程,对于每一个进程,都会有一个相对应的工作目录,这个工作目录在虚拟机初始化的时候就已经设置好了,默认的情况下&#…

Javascript 第七天 笔记

通过三天把以前学习的内容复习一下。以便继续学习。 BOM模型 BOM浏览器对象模型 DOM ----> document BOM -----> window Document对象其实是window的一个属性或叫子对象 Window对象的子对象介绍 Window.navigator : 表示浏览器的相关信息 Window.history : 历史记录,或者…

LeetCode MySQL 618. 学生地理信息报告(row_number)

文章目录1. 题目2. 解题1. 题目 一所美国大学有来自亚洲、欧洲和美洲的学生,他们的地理信息存放在如下 student 表中。 | name | continent | |--------|-----------| | Jack | America | | Pascal | Europe | | Xi | Asia | | Jane | Americ…

java非必填字段跳过校验,avalon2表单验证,非必填字段在不填写的时候不能通过验证...

avalon2表单验证,非必填字段在不填写的时候不能通过验证代码var vm avalon.define({$id: "validate1",aaa : "",validate: {onError: function(reasons) {reasons.forEach(function(reason) {console.log(reason.getMessage())})},onValidateAll: functio…

jQuery心得5--jQuery深入了解串讲1

1.CSS-DOM 操作 获取和设置元素的样式属性: css()。 获取和设置元素透明度: opacity 属性(css 的一个属性)。 获取和设置元素高度, 宽度: height(), width(). 在设置值时, 若只传递数字, 则默认单位是 px. 如需要使用其他单位则需传递一个字符串, 例如 $(“p:first”).height(“…

LeetCode MySQL 1225. 报告系统状态的连续日期(date_sub + over)

文章目录1. 题目2. 解题1. 题目 Table: Failed ----------------------- | Column Name | Type | ----------------------- | fail_date | date | ----------------------- 该表主键为 fail_date。 该表包含失败任务的天数.Table: Succeeded --------------------…

mysql tableveiw与表格,javafx将数据库内容输出到tableview表格

一 、创建Fxml文件,用Javafx Scene Builder 编辑页面,创建tableview(表格)和tablecolum(表格中的列),并为其设置fxid;二、生成fxml文件的控制类;三、创建数据库的连接类(使用JDBC驱动);Connect.javaimportj…

UVa 11636 Hello World!

#include<cstdio>#include<cmath>using namespace std;int main(){int n,T1;while(scanf("%d",&n),n>0){printf("Case %d: %d\n",T,(int)ceil(log10(n)/log10(2))); //换底公式}return 0;}转载于:https://www.cnblogs.com/LtRoycePhan…

php mysqliquery 返回值,PHP mysqli_multi_query() 函数_程序员人生

实例执行多个针对数据库的查询&#xff1a;$conmysqli_connect("localhost","my_user","my_password","my_db");// Check connectionif (mysqli_connect_errno($con)){echo "Failed to connect to MySQL: " . mysqli_connec…

LeetCode MySQL 1369. 获取最近第二次的活动(over窗口函数)

文章目录1. 题目2. 解题1. 题目 表: UserActivity ------------------------ | Column Name | Type | ------------------------ | username | varchar | | activity | varchar | | startDate | Date | | endDate | Date | -----------------…

侧边导航栏的实现

F:\java\c侧边栏\侧边菜单栏\MySlidingMenu转载于:https://www.cnblogs.com/ct732003684/archive/2013/03/24/2979416.html

签到 数据库php,php与数据库的连接用法 (签到一)

注册页面//插入js验证window.onload function(){var hid document.getElementById("id");if(hid.value !""){ //当用户名已存在数据库时&#xff0c;提示用户已注册alert("用户名已注册");}}//ht…

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

文章目录1. 题目2. 解题1. 题目 Employee 表包含所有员工。Employee 表有三列&#xff1a;员工Id&#xff0c;公司名和薪水。 ------------------------- |Id | Company | Salary | ------------------------- |1 | A | 2341 | |2 | A | 341 …

【IEnumerable】扩展方法的使用 C#

直接进入主题吧... IEnumerable : 公开枚举数&#xff0c;该枚举数支持在非泛型集合上进行简单迭代。 好吧&#xff0c;迭代&#xff0c;我就理解成循环&#xff0c;这些名词真晦涩&#xff0c;没意思 今天看的是 Using Extension Methods &#xff0c;使用"扩展方法…

java的制造商,国内某通信设备制造商JavaEE开发岗面试题

1 EJB中有几种Bean&#xff0c;叙述有状态Bean和无状态Bean的区别。答&#xff1a;EJB中有Session Bean&#xff0c;Entity Bean&#xff0c;以及 Message Driven Bean。这两种的 Session Bean都可以将系统逻辑放在 method之中执行&#xff0c;不同的是 Stateful Session Bean …

LeetCode MySQL 571. 给定数字的频率查询中位数

文章目录1. 题目2. 解题1. 题目 Numbers 表保存数字的值及其频率。 ----------------------- | Number | Frequency | -----------------------| | 0 | 7 | | 1 | 1 | | 2 | 3 | | 3 | 1 | -------…

Java中文乱码处理

出现的情况&#xff1a; 表单FORM、POST、GET、超链接、sendRedirect() 解决方法&#xff1a; 如果是POST使用 HttpRequest.setCharacterEncoding("utf-8"); 如果是GET使用 String unew String( req.getParameter("username") .getBytes("iso-8859-1…