SUKI-ZY

2020-11-04   阅读量: 4400

Mysql问题贴

group by 的使用

group by 在什么情况下使用?使用场景是什么

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
37.8958 3 3 关注作者 收藏

评论(3)

SUKI-ZY
2020-11-04
问题已解决,谢谢!
0.0000 0 0 回复
闪呀闪
2020-11-04

show databases;

create database c1;

use c1;

DROP TABLE CUS;

create table Cus(

ORDERID INT PRIMARY KEY auto_increment,

CUSNAME varchar (10),

PRODUCTNAME VARCHAR (10),

PRODUCTPRICE INT,

ORDERDATE date

);

DESC CUS;

INSERT INTO CUS VALUES

(3012,'A','P001',100,'2020-6-1'),

(3013,'B','P002',78,'2020-6-2'),

(3014,'C','P003',123,'2020-6-3'),

(3015,'A','P004',98,'2020-6-1'),

(3016,'B','P005',45,'2020-6-2'),

(3017,'C','P001',100,'2020-6-3'),

(3018,'A','P005',45,'2020-6-3'),

(3019,'B','P004',98,'2020-6-1');

select * from cus;

-- 统计6月1号,2号每个Customer购买的产品总价。

select CUSNAME,ORDERDATE,SUM(PRODUCTPRICE) as 产品总价

from cus

where ORDERDATE='2020-6-1' or ORDERDATE='2020-6-2'

group by CUSNAME;


37.8449 2 0 回复
闪呀闪
2020-11-04

根据顾客姓名分组。

image.png



不分组的结果

image.png


37.8449 2 0 回复
闪呀闪
2020-11-04

GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。


示例:统计1号,2号每个Customer购买的产品总价。


group by CustomerID,那么找CustomerID那一列,将具有相同CustomerID值的行,合并成一行且去重,只留一个值。

对应的其他列的值,会将其他列的值合并整合到一行里,不做任何过滤处理。

最后CUstomerID显示的只有A、B、C而不是之前的A、B、C、A、B、C、A、B、C。

37.8449 2 0 回复
SUKI-ZY
2020-11-04

ok,谢谢~~

0.0000 0 0 回复

推荐课程