获取条件指向MySQL / SQL中的同一行
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了获取条件指向MySQL / SQL中的同一行,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1265字,纯文字阅读大概需要2分钟。
内容图文
![获取条件指向MySQL / SQL中的同一行](/upload/InfoBanner/zyjiaocheng/894/803c678c5074450991adac2c1ad6d6e9.jpg)
假设我有一个表Foo,看起来像这样:
ID | Name | Gender | Team
1 | Bob | Male | A
2 | Amy | Female | A
3 | Cat | Female | B
4 | Dave | Male | B
5 | Evan | Male | B
如果我想获得同一行中每个团队的男性和女性人数列表,我该怎么做?
我知道我可以将SELECT COUNT(Name)作为“#”,Team,Gender FROM foo GROUP BY Team,Gender,这对于大多数目的来说都很好.
但这会给我每队2行,如下所示,这可能是一个痛苦.
# Team Gender
1 | A | Male
1 | A | Female
1 | B | Female
2 | B | Male
我如何构建查询,使它们出现在同一行?
即
Team | Males | Females
A | 1 | 1
B | 2 | 1
解决方法:
select team,
SUM(case when gender='Male' then 1 else 0 end) Male,
SUM(case when gender='Female' then 1 else 0 end) Female
from tbl
group by team
对于评论
Imagine now that each row has an arbitrary numeric score associated with it, in a Score column. How would I have ‘Male points’ and ‘Female points? Would that be SUM(case when gender=”male” then select points else 0 end) “Male Points”
你很亲密答案是
select team,
SUM(case when gender='Male' then 1 else 0 end) Male,
SUM(case when gender='Male' then points else 0 end) `Male Points`,
SUM(case when gender='Female' then 1 else 0 end) Female,
SUM(case when gender='Female' then points else 0 end) `Female Points`
from tbl
group by team
内容总结
以上是互联网集市为您收集整理的获取条件指向MySQL / SQL中的同一行全部内容,希望文章能够帮你解决获取条件指向MySQL / SQL中的同一行所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。