SQL 在同一 table 的多个条件下分组

SQL Group by on multiple conditions on same table

enter image description here我正在尝试编写一个 SQL 查询以获取低于输出的结果。

table 有以下数据:

   ID   GENDER 
    10  M 
    10  F 
    10  F 
    20  F 
    20  M 

输出:

    ID  Male    Female 
    10   1       2 
    20   1       1

我需要使用 group by 的 case 吗?有人可以帮忙吗

使用简单组

select id,sum(case when GENDER = 'M' then 1 else 0 end) as Male,
          sum(case when GENDER = 'F' then 1 else 0 end) as FeMale
       from tablename
group by id