You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Access SQL按年龄分组统计男女人数的实现问题

解决方案

要实现按年龄分组、男女统计结果同行展示的需求,你可以使用条件聚合改写查询,通过IIF函数分别统计男女数量,仅按年龄分组即可:

SELECT 
    Round((Date()-[DOB])/365.5) AS AGE,
    Sum(IIF(Datos.GENDER = "M", 1, 0)) AS Male_Count,
    Sum(IIF(Datos.GENDER = "F", 1, 0)) AS Female_Count
FROM Datos
WHERE 
    Datos.GENDER IN ("M", "F") 
    AND Year([DATE_DATE]) = Year(Date()) 
    AND DOB IS NOT NULL
GROUP BY Round((Date()-[DOB])/365.5)
ORDER BY Round((Date()-[DOB])/365.5);

关键改动说明:

  • 用Sum(IIF(...))替代原有的Count+性别分组:通过条件判断,符合性别条件的记为1,否则为0,求和后得到对应性别的人数
  • 移除GROUP BY中的Datos.GENDER,仅保留年龄作为分组依据,确保每个年龄只生成一行数据
  • 把OR条件改成IN,让SQL语句更简洁

这样查询结果会以年龄为行,每行同时展示该年龄段的男性和女性人数,解决原查询男女分行的问题。

内容的提问来源于stack exchange,提问作者Juan Perez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 09:55:20