当前位置: 数据库>sqlserver
SQL分组查询实例解析
来源: 互联网 发布时间:2014-08-29
本文导语: 一,分组查询 1,使用group by进行分组查询 在使用group by关键字时,在select列表中可以指定的项目是有限制的,select语句中仅许以下几项: 〉被分组的列 〉为每个分组返回一个值得表达式,例如用一个列名作为参数的聚合函...
一,分组查询
1,使用group by进行分组查询
在使用group by关键字时,在select列表中可以指定的项目是有限制的,select语句中仅许以下几项:
〉被分组的列
〉为每个分组返回一个值得表达式,例如用一个列名作为参数的聚合函数。
group by的使用在这只写几个例子吧:
例子:
代码示例:
select courseID,avg(score) as 课程平均成绩
from score
group by courseID
from score
group by courseID
例子:
代码示例:
select studentID as 学员编号,courseID as 内部测试,avg(score) as 内部测试平均成绩
from score
group by studentID,courseID
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
from score
group by studentID,courseID
having avg(score)>60
在select语句中,where、group by、having子句和统计函数的执行次序如下:
where子句从数据源中去掉不符合去搜索条件的数据;
group by子句搜集数据行到各个组中,统计函数为各个组计算统计值;
having子句去掉不符合其组搜索条件的各组数据行。
问题1,这样查出来的数据,在页面如何绑定?
读取到DataTable 然后数据源控件.DataSource= DataTable;
如果是Asp.net 要加多一句 数据源控件.DataBind()。
问题2,如果是多个表连接查询,怎么分组和统计呢?
多表也一样呀,如果有重名字段 就表名.字段名。
您可能感兴趣的文章:
- SQL分组查询group by语句实例
- SQL分组排序与分组查询统计
- mysql分组查询示例代码
- 一个sql server分组查询的例子
- sql server分组查询与排序的例子
- Sql Server多行合并及分组查询的例子
- sql server数据分组查询脚本分析