猿问

在多列上使用GROUPBY

在多列上使用GROUPBY

我明白GROUP BY x

但如何GROUP BY x, y工作,这意味着什么?


开满天机
浏览 1201回答 3
3回答

料青山看我应如是

Group By X手段将X值相同的所有值放在一个组中.Group By X, Y手段将X和Y值相同的所有值放在一个组中.为了举例说明,假设我们有下表,与谁在一所大学上什么科目有关:Table: Subject_Selection Subject   Semester   Attendee---------------------------------ITB001    1          John ITB001    1          Bob ITB001    1          Mickey ITB001    2          Jenny ITB001    2          James MKB114    1          John MKB114    1          Erica当您使用group by仅在主题栏上;例如:select Subject, Count(*)from Subject_Selectiongroup by Subject你会得到这样的东西:Subject    Count------------------------------ITB001     5MKB114     2.因为ITB 001有5个条目,MKB 114有2个条目如果我们group by两栏:select Subject, Semester, Count(*)from Subject_Selectiongroup by Subject, Semester我们会得到这个:Subject    Semester   Count------------------------------ITB001     1          3ITB001     2           2MKB114     1          2这是因为,当我们按两列分组时,它是这样说的“将它们分组,使所有具有相同科目和学期的学生都在同一组中,然后计算所有的聚合函数。(计数、总和、平均数等)每一组“..在这个例子中,当我们计算它们时,就可以看到三在第一学期做IT B 001的人,以及二在第二学期做。两人都是在第一学期,所以第二学期没有排(没有数据适合小组“MKB 114,第二学期”)。希望这是有意义的。

慕标5832272

这个GROUP BY子句与聚合函数一起使用,以将结果集按一个或多个列分组。例如:SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_name;记住这个命令:1)SELECT(用于从数据库中选择数据)2)FROM(子句用于列出表)3)WHERE(子句用于过滤记录)4)GROUP BY(子句可在SELECT语句中用于跨多个记录收集数据,并将结果分组为一个或多个列)5)HAN(子句与GROUP BY子句结合使用,以限制返回的行组仅限于条件为真的行)6)ORDERBY(关键字用于对结果集进行排序)如果使用聚合函数,则可以使用所有这些函数,这是必须设置它们的顺序,否则可能会出现错误。合计职能是:min返回给定列中的最小值。SUM返回给定列中数值的和。avg返回给定列的平均值。Count返回给定列中的值总数。Count(*)返回表中的行数

繁华开满天机

我给你举几个例子。如果您有一个这样使用聚合函数的产品表,下面是两个场景:从产品中选择AVG(INstock);这将计算Products表的平均库存单位。现在,您要按产品类别计算库存单位,您必须使用AVG函数和GROUP BY子句,如:从产品组(按类别)中选择类别ID,AVG(INstock);
随时随地看视频慕课网APP
我要回答