Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个带有字段user_id和votes. 该votes字段要么1是赞成票,要么0是反对票。
user_id
votes
1
0
我想做的是在一个查询中为特定用户显示总赞成票和总反对票。
我在想我也许可以用GROUP BY某种方式来实现这一点,但我不知道我是否可以以SUM某种方式将它与函数一起使用?
GROUP BY
SUM
GROUP BY仅当您想要多个用户的投票计数时才需要;对于单个用户,只需指定一个WHERE子句:
WHERE
SELECT SUM(votes=1) AS upvotes, SUM(votes=0) AS downvotes FROM my_table WHERE user_id = ?
顺便说一句,您可能需要考虑将反对票存储为-1(而不是0),以便可以轻松地将净投票数计算为SUM(votes).
-1
SUM(votes)