SQL中GROUP BY的学习理解

  • GROUP BY语句用于结合合计函数,根据一个或多个列对结果集进行分组。
    创建一个表并插入数据:
CREATE TABLE aatest(
id NUMBER(6,0),
username VARCHAR2(255),
num NUMBER(30,0)
) 
INSERT INTO aatest VALUES (1,'aa',2); 
INSERT INTO aatest VALUES (2,'aa',3); 
INSERT INTO aatest VALUES (3,'bb',4); 
INSERT INTO aatest VALUES (4,'cc',3); 
INSERT INTO aatest VALUES (5,'dd',4); 
INSERT INTO aatest VALUES (6,'dd',5);
INSERT INTO aatest VALUES (7,'ee',6); 
INSERT INTO aatest VALUES (8,'ee',7);
INSERT INTO aatest VALUES (9,'ee',6); 
创建表格数据.png
  • 单个关键字GROUP BY使用:
SELECT username
FROM aatest
GROUP BY username;
单个关键字GROUP BY使用.png
  • 现在我们要计算每个username的num和,可以结合聚合函数sum()使用:
SELECT username, sum(num) AS sumnum 
FROM aatest 
GROUP BY username;

结合聚合函数.png

即同一个username下的num求和。

  • 多个字段GROUP BY 就是把多个字段看成一个整体,多个字段记录完全一样才配合聚合函数一起计算。
SELECT username,avg(id)
FROM aatest
GROUP BY username,num;
多个字段` GROUP BY` .png

因为只有两条记录是一样的,所以这两条合成一条计算,整体少了一条数据。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容