美文网首页
SQL中GROUP BY的学习理解

SQL中GROUP BY的学习理解

作者: Coder_Cat | 来源:发表于2018-07-03 15:06 被阅读13次
    • 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
    • 现在我们要计算每个usernamenum和,可以结合聚合函数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

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

    相关文章

      网友评论

          本文标题:SQL中GROUP BY的学习理解

          本文链接:https://www.haomeiwen.com/subject/lhaduftx.html