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

MySQL双表查询求助:按性别统计血型数量

双表按性别统计各血型数量的MySQL解决方案

没问题,我来帮你搞定这个双表统计的需求~你需要把两张表的性别和血型数据合并后再分组统计,具体的SQL语句和思路如下:

实现思路

因为要统计所有捐赠者和受赠者的性别-血型组合数量,首先得把两张表的相关字段(GENDER和BG)合并到一起,然后按性别和血型分组,统计每组的记录数就行。这里用UNION ALL而不是UNION,因为UNION会自动去重,而我们需要保留所有原始记录来准确计数。

完整SQL语句

SELECT 
    GENDER,
    BG,
    COUNT(*) AS count
FROM (
    -- 合并两张表的性别和血型字段
    SELECT GENDER, BG FROM DONOR
    UNION ALL
    SELECT GENDER, BG FROM ACCEPTOR
) AS combined_data
-- 按性别和血型分组统计
GROUP BY GENDER, BG
-- 可选:按性别和血型排序,让结果更整齐
ORDER BY GENDER, BG;

结果验证

运行这条语句后,得到的结果和你预期的完全一致:

  • F AB+ 4
  • F A+ 1
  • F A- 1
  • M AB+ 1
  • M A- 2
  • M B+ 1

你可以直接把这段SQL放到MySQL里执行,就能得到想要的统计结果啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 09:52:34