首页 > 代码库 > (十二)分组查询
(十二)分组查询
将数据表中的数据按某种条件分成组,按组显示统计信息
查询各班学生的最大年龄、最小年龄、平均年龄和人数
分组
SELECT <字段名表1> FROM <表名> -- 这里字段名表1 应该 是 按照字段名表2 分组以后 能够产生唯一值的 字段(如:班级)
[WHERE <条件> ]
GROUP BY <字段名表2>
[HAVING <条件> ]
--例1 查询各班学生的最大年龄、最小年龄、平均年龄和人数-- 将多余空格删去UPDATE StudentSET Sdept = ltrim(sdept)Select ltrim(Sdept) AS 系别, MAX(Sage) AS 最大, MIN(Sage) AS 最小,AVG(Sage) AS 平均, COUNT(*) AS 人数FROM StudentGROUP BY ltrim(Sdept)ORDER BY 平均 DESC--例2 查询各班学生的最大年龄、最小年龄、平均年龄和人数--并且按平均年龄降序排列--见上--例3 查询各系别男生和女生人数SELECT Sdept, Ssex, COUNT(*) AS 人数FROM StudentGROUP BY Sdept, Ssex --通过系别,男女分组ORDER BY Sdept--例4 查询各系别姓张的学生的人数SELECT Sdept, Count(*) AS 张姓人数 FROM StudentWHERE Sname LIKE ‘张%‘GROUP BY Sdept--例5 查询姓"张"的学生人数等于1的班级 及 姓张的人数SELECT Sdept, Count(*) AS Douzi FROM StudentWHERE Sname LIKE ‘张%‘GROUP BY SdeptHaving COUNT(*) = 1--例6 查询各系别同学来自不同的省份人数,按班级排序Select Sdept, Province, Count(*)from StudentGROUP BY Sdept, ProvinceORDER BY Sdept
(十二)分组查询
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。