我有一个小问题..我有一个mysql表
cat | item | data |
100 | 0 | 10 |
102 | 1 | 3 |
101 | 1 | 1 |
100 | 0 | 40 |
100 | 1 | 20 |
102 | 0 | 3 |
101 | 1 | 2 |
100 | 0 | 30 |
102 | 1 | 3 |
Run Code Online (Sandbox Code Playgroud)
我的查询看起来像这样
$query = "SELECT cat, COUNT(item) FROM table WHERE item=0 GROUP BY cat";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo $row['COUNT(item)'].''.$row['COUNT(cat)'];
}
Run Code Online (Sandbox Code Playgroud)
我如何同时按0和1计算项目?
我想要这样
categories | items 0 | items 1
100 | 3 | 1
101 | 0 | 2
102 | 1 | 2
Run Code Online (Sandbox Code Playgroud)
抱歉我的英语不好:/希望你理解我的问题
最好的问候bernte
感谢您帮助james_bond和bfavaretto
还有什么可以做其他规则吗?我想要项目0和项目1的数据总和
categories | data 0 | data 1
100 | 80 | 20
101 | 0 | 3
102 | 3 | 6
Run Code Online (Sandbox Code Playgroud)
我尝试使用james_bond的代码没有成功:(
最好的问候bernte
$query = "SELECT cat, SUM(CASE WHEN item=0 THEN 1 ELSE 0 END) AS items_0, SUM(item) AS items_1 FROM table GROUP BY cat";
Run Code Online (Sandbox Code Playgroud)