首页 > 代码库 > sql复习-分组
sql复习-分组
--数据分组-统计信息--查询每个班级的总人数select COUNT(8) from Studentselect ClassId, COUNT(*) from Student group by ClassId--得到男生,女生的总人数 group by按指定的字段进行分类select sex, COUNT(*) from Student group by sex--与聚合函数一起出现在查询中的其它列,只有两个可能性:被聚合,被分组,它往往就是被分组select sex, COUNT(*) from Studentselect distinct sex from Studentselect COUNT(*) from Studentselect classid, COUNT(*) from Studentselect * from Student--顺序不能变 select(5) top/distinct 7 查询字段 from (1)表列表 where (2)对源数据进行筛选 group by(3) 分组统计字段列表 having (4)对分组统计结果集做筛选 order by (6)对最终的结果集做记录重排--where是对源数据做筛选的。它只能去使用from后面的表中所指定的列--聚合不应出现在 WHERE 子句中,就意味着聚合函数的条件不能通过where来指定--如果是对分组之后的结果集做筛选,那么就需要使用having--having的列是从group by中获取的--对分组统计结果集做筛选后再进行数据的显示。select ClassId, COUNT(*) num from Student group by ClassId order by num descselect top 2 ClassId, COUNT(*) num from Student group by ClassId order by num desc--1.查询每个班级的总学时数,并按照升序排列--2.查询每个参加考试的学员的平均分--3.查询每门课程的平均分,并按照降序排列--4.查询每个班级男女生的人数--当你看到类似于:各个,各自,每个,不同这些词的时候需要 考虑分组select ClassId, SUM(ClassHour) from Subject where ClassId is not null group by ClassIdselect StudentNo,AVG(StudentResult) from Result group by StudentNoselect SubjectId,AVG(StudentResult) from Result group by SubjectId--查询每个班级男女生的人数select ClassId,sex, COUNT(*) from Student group by ClassId,sex order by ClassId,sex
sql复习-分组
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。