我甚至不确定这是否可行,或者我是否只需要编写多个查询。
我有一个数据库表如下: -
USER
我希望实现的输出如下
| Uni | Total Users | Male | Female
| Uni1 | 30 | 15 | 15
| Uni2 | 40 | 25 | 15
如果您能在单个查询中实现这一点,或者我是否应该对每个结果使用不同的查询,我将不胜感激。
提前谢谢。
Phill
答案 0 :(得分:3)
以下是如何在单个查询中执行此操作的方法:
select
UniversityId,
count(*) as `Total Users`,
sum(case when gender = 'male' then 1 else 0 end) as Male,
sum(case when gender = 'female' then 1 else 0 end) as Female
from User
group by UniversityId