表info,记录每个用户的每种操作,字段如下:
id
name
result
1
张三
A
2
李四
B
3
张三
C
4
王五
A
5
张三
A
6
张三
B
7
王五
C
8
李四
B
9
李四
B
10
张三
A
需求是分别统计出每个用户每种结果的次数,就算是0也也要有单独的一行记录,如下:
name
result
count
张三
A
3
张三
B
1
张三
C
1
李四
A
0
李四
B
3
李四
C
0
王五
A
1
王五
B
0
王五
C
1
PS:可以在上面的结果中增加每个用户的总操作数吗?就是这样:
name
result
count
张三
总操作
5
李四
总操作
3
王五
总操作
2
...收起
1、如果只是要【分别统计出每个用户每种结果的次数】,那只需要 select name,result,count(1) count from info group by name,result 这个应该是知道的。 2、但要求是【0也要有单独的一行记录】,那相当于要填充几条0的结果,可以通过join的笛卡尔积连接,实现所有可能,↓ select * from (select DISTINCT `name` from info)t1,(select DISTINCT result from info)t2 3、此时
...全文