SQL分组查询GroupBy
2014-04-21 17:06
363 查看
一.分组查询
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 avg(score)>60
在select语句中,where、group by、having子句和统计函数的执行次序如下:
where子句从数据源中去掉不符合去搜索条件的数据;group by子句搜集数据行到各个组中,统计函数为各个组计算统计值;having子句去掉不符合其组搜索条件的各组数据行 。
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 avg(score)>60
在select语句中,where、group by、having子句和统计函数的执行次序如下:
where子句从数据源中去掉不符合去搜索条件的数据;group by子句搜集数据行到各个组中,统计函数为各个组计算统计值;having子句去掉不符合其组搜索条件的各组数据行 。
相关文章推荐
- SQL group by分组查询
- SQL group by分组查询(转)
- MySQL分组查询时出现错误SELECT list is not in GROUP BY ;this is incompatible with sql_mode=only_full_group_by
- SQL group by分组查询
- oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by
- SQL group by分组查询
- sql分组查询 group by having(Oracle 10g宝典第六章读书笔记)
- SQLSERVER GROUP BY查询最大一条,并关联当前行其它列
- 分组查询 Group by , Group by all , Having
- sql 嵌套查询,并通过分组 和字段连接函数GROUP_CONCAT 查询出符合业务的结果集
- mysql之分组查询group by
- SQL group 分组查询
- SQL查询语句中select from where group by having order by的执行顺序
- sql group by 分组选择保留哪一行
- Sql group by 分组取时间最新的一条数据
- sql 查询按照分组将多条记录转换成单条记录的group_contact()函数
- mysql查询中group by语句中出现sql_mode=only_full_group_by
- sql group by分组 + 关联查询
- SQL重复记录查询-count与group by having结合查询重复记录
- LINQ系列:LINQ to SQL Group by/Having分组