我的表格包含字段user_id
和votes
。 votes
字段可以是1
进行投票,也可以0
进行投票。
我想要做的是在特定用户的一个查询中显示总票数和总票数。
我以为我可能会以某种方式使用GROUP BY
来实现这一目标,但我不知道我是否能以某种方式使用SUM
函数?
答案 0 :(得分:1)
GROUP BY
;对于单个用户,只需指定WHERE
子句:
SELECT SUM(votes=1) AS upvotes, SUM(votes=0) AS downvotes
FROM my_table
WHERE user_id = ?
顺便说一下,您可能需要考虑将downvotes存储为-1
(而不是0
),以便可以轻松地将净投票计数计算为SUM(votes)
。< / p>