这是我的示例表(假设我只有3个类别):
id user item category
----------------------------
1 myuser item1 1
2 myuser item2 2
3 myuser item3 2
4 myuser item4 2
5 myuser item5 2
6 myuser item6 3
我正在尝试进行一个总结类别的查询以获得此结果:
user cat_1 cat_2 cat_3
--------------------------------
myuser 1 4 1
什么是最好的方法? 感谢
编辑:扩展方法(抱歉我的错误)
我的表格如下:
id user item category total
------------------------------------
1 myuser item1 1 2
2 myuser item2 2 6
3 myuser item3 3 4
我如何查询它以获得此结果:
user cat_1 cat_2 cat_3
--------------------------------
myuser 2 6 4
答案 0 :(得分:3)
如果您确定只能使用3个类别:
select
user,
sum(if(category=1,1,0)) cat_1,
sum(if(category=2,1,0)) cat_2,
sum(if(category=3,1,0)) cat_3
from table
group by user