O C*_*nor 1 mysql sql select group-by count
下面是我的数据库表。
id name type
1 a 1
2 a 1
3 a 1
4 a 0
5 a 0
6 b 1
7 b 1
8 b 0
9 b 0
10 b 0
11 c 1
12 c 1
13 c 0
Run Code Online (Sandbox Code Playgroud)
我想按类型选择和分组,并按类型计数。如何编写sql查询得到如下结果?
name count_type_0 count_type_1
a 2 3
b 3 2
c 1 2
Run Code Online (Sandbox Code Playgroud)
只需使用条件聚合:
select name, sum(type = 0) as count_0, sum(type = 1) as count_1
from t
group by name;
Run Code Online (Sandbox Code Playgroud)
这使用了 MySQL 功能,该功能将布尔值视为数字上下文中的数字,0 表示假,1 表示真。因此,将这些值相加计算表达式为真的次数。
| 归档时间: |
|
| 查看次数: |
771 次 |
| 最近记录: |