Access分组统计
我有一个学生数据表,表中有组别编号、姓名、性别等字段。有的组是纯男生,有的组是纯女生,还有的组是男女混合。请各位老师帮助我用Access查询或其他方式,分别统计出男生、女...
我有一个学生数据表,表中有组别编号、姓名、性别等字段。有的组是纯男生,有的组是纯女生,还有的组是男女混合。请各位老师帮助我用Access查询或其他方式,分别统计出男生、女生、男女混合各有多少组。请制作一个实例。谢谢。
展开
展开全部
这个Access做起来真是不容易,仅供参考
第一步
SELECT 组别编号,
SUM(IIF(性别='女', 1, 0)) AS 女生数,
SUM(IIF(性别='男', 1, 0)) AS 男生数
FROM 学生数据表
GROUP BY 组别编号
第二步, 将第一步的语句填进(...)
SELECT SUM(IIF(女生数=0 AND 男生数<>0, 1, 0)
FROM (...) ----男生组的个数
SELECT SUM(IIF(女生数<>0 AND 男生数=0, 1, 0)
FROM (...) ----女生组的个数
SELECT SUM(IIF(女生数<>0 AND 男生数<>0, 1, 0)
FROM (...) ----混合组的个数
第一步
SELECT 组别编号,
SUM(IIF(性别='女', 1, 0)) AS 女生数,
SUM(IIF(性别='男', 1, 0)) AS 男生数
FROM 学生数据表
GROUP BY 组别编号
第二步, 将第一步的语句填进(...)
SELECT SUM(IIF(女生数=0 AND 男生数<>0, 1, 0)
FROM (...) ----男生组的个数
SELECT SUM(IIF(女生数<>0 AND 男生数=0, 1, 0)
FROM (...) ----女生组的个数
SELECT SUM(IIF(女生数<>0 AND 男生数<>0, 1, 0)
FROM (...) ----混合组的个数
追问
第二步具体怎么做,我做不了。将第一步的语句填进(...)
后,提示语法错误,操作符丢失。帮助做一下。我要求在一个查询中同时看到男生组、女生组、混合组的个数。麻烦你了,谢谢。
追答
上边第二步,每个SELECT SUM这行后边少了个)号
另外你也可以把第一步保存成一个查询1,把(...)换成查询1
SELECT '男生组的个数' AS XXX, SUM(IIF(女生数=0 AND 男生数0, 1, 0))
FROM (SELECT 学生数据表.组别编号, Sum(IIf(性别='女',1,0)) AS 女生数, Sum(IIf(性别='男',1,0)) AS 男生数
FROM 学生数据表
GROUP BY 学生数据表.组别编号)
UNION ALL
SELECT '女生组的个数' AS XXX, SUM(IIF(女生数0 AND 男生数=0, 1, 0))
FROM (。。。)
UNION ALL
SELECT '混合组的个数' AS XXX, SUM(IIF(女生数0 AND 男生数0, 1, 0))
FROM (。。。);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询