标签: mysql sql
我有一张表Responses和一张表Votes。 Votes表格中有vote_value列,可以是1或-1,具体取决于人们是否对特定回复进行投票。我想知道如何根据他们的投票总数对答案进行排序。
Responses
Votes
vote_value
1
-1
执行连接并按SUM(vote.vote_value) as score(降序)排序的问题是某些响应没有投票,因此score为-1的响应将高于没有投票的回应(真的是0分)。
SUM(vote.vote_value) as score
score
如果用SQL无法做到这一点,我想我可以在应用程序代码中自己进行排序。
答案 0 :(得分:2)
当SUM返回NULL时,使用COALESCE选择一个值:
COALESCE(SUM(vote.vote_value), 0) AS score