首页 > 其他 > 详细

分组统计:count,group by,having, order by

时间:2015-03-19 23:53:42      阅读:401      评论:0      收藏:0      [点我收藏+]

--统计男女生的总人数
select COUNT(*) from Student where Sex=‘男‘
select COUNT(*) from Student where Sex=‘女‘
--统计每一个班级的总人数
select COUNT(*) from Student where ClassId=1
--分组统计:需要按班级分组,每一个组得到一个统计结果
--select 字段列表 from 表列表 where 数据源筛选 group by 分组字段列表 order by 排序字段列表
select classid, COUNT(*) from Student group by ClassId
--使用分组统计男女生总人数
select sex, COUNT(*) from Student group by sex

--分组统计的细节:
select sex, COUNT(*) from Student
select sex from Student
select COUNT(*) from Student
--sql语句执行的顺序
--5 显示 1 2 3 4 6
--select 字段列表 from 表列表 where 数据源的筛选 group by 分组字段列表 having 分组统计结果集的筛选 Order by 排序字段列表
--语法规则:聚合不应出现在 WHERE 子句中,聚合函数应该使用在having中
--where是对源数据进行筛选的,但是having是对分组统计所获取的结果集进行筛选的。
select classid, COUNT(*) as cnt from Student where Address is not null group by ClassId having COUNT(*)>2 order by cnt


--查询每一个班级男女生的总人数
select classid,sex, COUNT(*) from Student group by ClassId,Sex order by ClassId
--
select top 2 * from Student
select top 2 * from Student order by StudentName
--当你看到 每个 不同 各自 的时候,就考虑分组
--1.查询每个班级的总学时数,并按照升序排列 subject
select ClassId,SUM(ClassHour) from Subject group by ClassId order by SUM(ClassHour)
--2.查询每个参加考试的学员的平均分 result
select (select studentname from Student where StudentNo=result.StudentNo),AVG(StudentResult) from Result group by StudentNo
--3.查询每门课程的平均分,并按照降序排列 result
select SubjectId 科目ID,AVG(StudentResult) 平均分 from Result group by SubjectId order by 科目ID Desc
--4.查询每个班级男女生的人数 --多字段分组
select classid,sex, COUNT(*) from Student group by ClassId,Sex order by ClassId

分组统计:count,group by,having, order by

原文:http://www.cnblogs.com/dianshen520/p/4351931.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!