article_vote table
+------------+------+
| article_id | vote |
+------------+------+
| 1 | 3 |
| 1 | 1 |
| 1 | -1 |
| 1 | -2 |
+------------+------+
在 MySQL 5.5 中,我一直试图从上表中返回两个结果。1. 所有反对票的总和。2. 所有正票的总和。所以正数应该是4负数应该是-3。投票字段没有 NULL 值。
此 SQL 不能按我的意图工作:
SELECT vote,
SUM(vote > 0) AS positive,
SUM(vote < 1) AS negative
FROM article_vote
WHERE vote_article_id = 50
GROUP BY vote
当我在上面的数据集上使用它时,它返回:
Array ( [vote] => -22 [positive] => 0 [negative] => 1 )
我哪里错了?