-
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
因为只有两条记录是一样的,所以这两条合成一条计算,整体少了一条数据。
网友评论