SQL按日期分组销售产品,使用group_concat和separator
题目来源:LeetCode
编写一个 SQL 查询来查找每个日期、销售的不同产品的数量及其名称。
每个日期的销售产品名称应按词典序排列,并用逗号隔开。
返回按 sell_date 排序的结果表。
1:题目分析
①根据”按 sell_date 排序的结果表“,以及”查找每个日期、销售的不同产品的数量及其名称“,可以判断出需要对sell_date进行分组与排序,同时需要计算每个销售不同产品的数量。
SELECT sell_date,
COUNT(DISTINCT product) AS num_sold,
product
FROM Activities
GROUP BY sell_date
ORDER BY sell_date;
②此时product结果只会显示日期首次出现的结果。根据题目:不同的销售产品名称应按词典序排列,并用逗号隔开,确定需要使用distinct和separator。
问题是如何将字段连接?
新学到group_concat,有点像Hive的CONCAT_WS(separator, str1, str2,…)
GROUP_CONCAT([DISTINCT] 要连接的字段 [ORDER BY ASC/DESC 排序字段] [SEPARATOR '分隔符'])
2:结果
SELECT sell_date,
COUNT(DISTINCT product) AS num_sold,
GROUP_CONCAT(DISTINCT product ORDER BY product separator ',') AS products
FROM Activities
GROUP BY sell_date
ORDER BY sell_date;
SQL按日期分组销售产品,使用group_concat和separator相关推荐
- 力扣刷题学习SQL篇——1-8 查询(按日期分组销售产品——利用聚合函数GROUP_CONCAT)
力扣刷题学习SQL篇--1-8 查询(按日期分组销售产品--利用聚合函数GROUP_CONCAT) 1.题目 2.解法 3.group_concat() 1.题目 题目链接:https://leetc ...
- SQL对日期的一些处理
获取当前日期: Oracle : sysdate Sqlserver : getdate() MySQL:curdate() 获取当前周一: MySQL: select subdate(curd ...
- oracle sql 平均分配 分组_SQL学习二
训练大纲(第023天) 大家如果想快速有效的学习,思想核心是"以建立知识体系为核心",具体方法是"守破离".确保老师课堂上做的操作,反复练习直到熟练. 第41次 ...
- Excel 数据透视表教程大全之 04 按日期分组(教程含样本数据)
什么是数据透视表? 您可以将数据透视表视为报告.但是,与静态报表不同,数据透视表提供数据的交互式视图.只需很少的努力(并且没有公式),您就可以从许多不同的角度查看相同的数据.您可以将数据分组,将数据分 ...
- [转帖]流言终结者 —— “SQL Server 是Sybase的产品而不是微软的”
流言终结者 -- "SQL Server 是Sybase的产品而不是微软的" https://www.cnblogs.com/xxxtech/archive/2011/12/30/ ...
- SQL Server数据分组
SQL Server数据分组 一.SQL Server Group By语句. Group By语句从英文的字面意义上理解就是"根据(by)一定的规则进行分组(Group)".它的 ...
- SQL中的分组函数的使用
什么是分组函数? 分组函数是作用在一组数据中,返回一个结果的函数,包括组函数:AVG,COUNT,MAX,MIN,SUM: 数据说明 有五个表:学生表,老师表,课程表,学院表,课程成绩表. 表结构 初 ...
- SQL Server 日期和时间相关的数据类型有两种
SQL Server 日期和时间相关的数据类型有两种: DateTime和SmallDateTime. DateTime: 需要8个字节,前4个字节用1900年1月1日以后的天数表示日期,后4个字节表 ...
- SQL Server日期格式的转换
SQL Server日期格式的转换 [原创 2007-03-23 09:34:36] 字号: 大 中 小 SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd ...
最新文章
- java httprequest选项_java 实现HttpRequest 发送http请求
- 【英语学习】【WOTD】scavenger 释义/词源/示例
- html有3d效果的网页,HTML5如何在网页中实现3D效果?
- Java 多态(一)
- 项目管理: Maven 让事情变得简单
- Mac文件管理技巧:灵活的颜色标记,更好地分类
- 静态对象和非静态对象的区别
- Unity第一人称可视化传送门制作
- 常见坐标系经纬度转换
- 数字音频IC的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 怎样访问服务器的文件,怎样访问服务器上的mht文件
- 《广西经济社会发展报告(2019)》正式发布 聚焦发展热点
- 删库跑路(错误0x80070091:目录不是空的)该如何解决???还是别解决了。。。
- MFC应用程序无法正常启动(0x0150002)。请单击“确定”关闭应用程序
- 总成绩冒泡排序Java_输入班级48分的java考试成绩,并且将其顺序排序
- 数理逻辑学习笔记[0] 命题逻辑:语义
- USRP 型号对比与挑选
- 撸代码更有劲了(这应该算是福利吧)
- html文标题党,标题党:如何写出一个SEO与新媒体传播都吸引人的标题! - 蝙蝠侠IT...
- linux 磁盘分区 挂载 卸载 常用命令
热门文章
- c语言根据首字母判断星期几,C语言根据指定日期计算是星期几
- 瑞雷波频散曲线_瑞雷波多模式频散曲线的能量计算研究
- 全国计算机等级考试三级数据库技术-知识点汇总
- error: Something went wrong bootstrapping makefile fragments
- teamcenter 异步服务_Teamcenter 11版本最新特征
- 《华胥引》游戏剧情策划方案
- 电脑关机 重启 开机怎么看日志
- 网络面临中断和挑战,最新的网络监控解决方案
- 我所经历的Android面试
- 手把手讲解超详细python入门游戏项目‘打外星飞船’(四)