我什至不确定这是否可行,或者我是否只需要编写多个查询。
我有一个数据库表如下:-
用户
- 大学编号
- 性别
我想要实现的输出如下
| Uni | Total Users | Male | Female
| Uni1 | 30 | 15 | 15
| Uni2 | 40 | 25 | 15
如果您能告诉我这是否可以在单个查询中实现,或者我是否应该对每个结果使用不同的查询,我将不胜感激。
提前谢谢你。
菲尔
最佳答案
以下是您可以在单个查询中执行此操作的方法:
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
关于mysql - SQL 对多个字段的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26056100/