一.分组查询 1.使用group by进行分组查询 在使用group by关键字时,在select列表中可以指定的项目是有限制的,select语句中仅许以下几项: 〉被分组的列 〉为每个分组返回一个值得表达式,例如用一个列名作为参数的聚合函数 group by的使用在这只写几个例子吧: 例: select courseid,avg(score) as 课程平均成绩 from score group by courseid 例: select studentid as 学员编号,courseid as 内部测试,avg(score) as 内部测试平均成绩 from score group by studentid,courseid 2.使用having子句进行分组筛选 where子句只能对没有分组统计前的数据行进行筛选,对分组后的条件的筛选必须使用having子句 例: select studentid as 学员编号,courseid as 内部测试,avg(score) as 内部测试平均成绩 from score group by studentid,courseid having count(score)>1 !在select语句中,where、group by、having子句和统计函数的执行次序如下: where子句从数据源中去掉不符合去搜索条件的数据;group by子句搜集数据行到各个组中,统计函数为各个组计算统计值;having子句去掉不符合其组搜索条件的各组数据行