1、group by 子句中有多个字段的时候,依据写的字段顺序依次对数据进行分区,因此 group by,字段名1,字段名2 与 group by 字段名2,字段名1 不一样。 2、使用group by 子句的时候,select 只能使用聚合函数和group by用过的字段,否则会报错。 3、例题:查询2013至2015年每年每个科目的获奖人数,结果按年份从大到小,人数从大到小排序:
1、只有使用了group by 子句后才能使用having子句,having子句不能脱离group by 子句单独使用,因为having子句本质上是对group by 分组的筛选; 2、having字句中只能使用聚合函数和 group by 作为分组依据的字段(group by 后面跟的字段)。 3、having的表达式和where的表达式基本相同,但是having的表达式中可以使用聚合函数,where的表达式中不能使用聚合函数,having可以!因为where是对原标的行数据进行筛选,having是对group by 分组后的数据进行再筛选。 4、建议对行数据进行筛选时使用where 子句,对含有聚合函数的筛选表达式使用having子句。