【问题标题】:I have a column called Gender, how can I count male and female group by division我有一个专栏叫性别,我如何按分区计算男性和女性组
【发布时间】:2021-05-18 16:51:48
【问题描述】:

我有个专栏叫Gender,怎么分男女分组统计

这是我的桌子:

ID Name Gender Division
1 Jose Rizal Male Manila
2 Maria Clara Female Cebu
3 Brando Hervala Male Cebu
4 Sampurna Makabi Male Manila

输出预期:

Division Total Male Total Female
Manila 2 0
Cebu 1 1

我的 SQL 查询是:

SELECT
     Division
    ,(
        Select
            COUNT(Gender)
        from Table
        where gender = 'Male'
     ) as 'Total Male'
    ,(
        Select
            COUNT(Gender)
        from Table
        where gender = 'Female'
     ) as 'Total Female'
FROM Table
GROUP by Division

【问题讨论】:

  • 这与 C# 有什么关系[您的问题中没有 C#]。 WRT 你的问题 - 你可以尝试做这样的事情 - SELECT Division, Gender, Count(*) AS GenderCount GROUP BY Division, Gender - 然后你可以使用该结果作为其他人的子查询..
  • 用您正在使用的数据库标记您的问题。

标签: sql group-by counting


【解决方案1】:

你想要一个条件聚合

SELECT Division
    , SUM(case when Gender = 'Male' then 1 end) as 'Total Male'
    , SUM(case when Gender = 'Female'then 1 end) as 'Total Female'
FROM Table
GROUP by Division

【讨论】:

  • 我会在 case 表达式中添加 else 0,以便为不存在的值获取 0 而不是 null。
猜你喜欢
  • 2021-01-13
  • 2019-11-22
  • 2013-06-11
  • 1970-01-01
  • 1970-01-01
  • 2013-09-01
  • 2022-01-11
  • 2021-08-30
  • 2016-06-27
相关资源
最近更新 更多