gpt4 book ai didi

mysql - 如何编写一个 SQL 查询来计算一个表的同一列中的两种类型的值?

转载 作者:太空宇宙 更新时间:2023-11-03 10:45:43 25 4
gpt4 key购买 nike

我有一个名为“demo”的表,其中包含字段 id(PK)、用户和具有以下数据的项目:

id  user item
== ==== =====
1 anuj A
2 anuj A
3 anuj A
4 anuj B
5 anuj B
6 anuj B
7 patil A
8 patil A
9 patil A
10 rahul B
11 rahul B
12 tanmay A
13 tanmay A

现在我想写一个查询,它会给我这样的结果:

User   Count of A    Count of B
==== ========== ===========
anuj 3 3
patil 3 0
rahul 0 2
tanmay 2 0

基本上这可能吗?我尝试过但没有成功。

最佳答案

使用条件聚合

count 聚合内的

Case 语句 将生成 1NULL。由于 NULL 值被聚合函数消除,因此计数将仅在满足条件时才考虑计数

select User,    
Count(case when item = 'A' then 1 end) as `Count of A`,
Count(case when item = 'B' then 1 end) as `Count of B`
From yourtable
Group by User

关于mysql - 如何编写一个 SQL 查询来计算一个表的同一列中的两种类型的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32168157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com