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

如何编写SQL按年龄分组统计男性(m)和女性(f)的数量

实现按年龄分组统计不同性别数量的SQL方案

核心用条件聚合逻辑实现,不需要子查询,性能优异,兼容所有主流SQL数据库(MySQL、PostgreSQL、Oracle、SQL Server等):

SELECT
    age,
    COUNT(CASE WHEN gander = 'm' THEN 1 END) AS count_m,
    COUNT(CASE WHEN gander = 'f' THEN 1 END) AS count_f
FROM person
GROUP BY age
ORDER BY age;

补充说明

  • 如果你使用的是MySQL,可以用更简洁的SUM + IF写法:
SELECT
    age,
    SUM(IF(gander = 'm', 1, 0)) AS count_m,
    SUM(IF(gander = 'f', 1, 0)) AS count_f
FROM person
GROUP BY age
ORDER BY age;
  • 上述语句执行后返回的结果和你给出的示例数据完全匹配:
agecount_mcount_f
2121
2211
  • 如果你表中的性别字段实际是拼写正确的gender,替换掉SQL里的gander即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:15:05