繁体   English   中英

多个字段的SQL计数

[英]SQL Count on Multiple Fields

我甚至不确定这是否可行,或者我是否只需要编写多个查询。

我有一个数据库表如下: -

用户

  • university_id
  • 性别

我想要实现的输出如下

| 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

演示: http ://www.sqlfiddle.com/#!2 / e7d16a / 4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM