我有一个表Responses
和一个表Votes
。 Votes
表有一列 vote_value
,可以是 1
或 -1
,具体取决于人们是否投票或投票降低给定的响应。我想知道如何根据投票总和对回复进行排序。
进行连接并简单地按 SUM(vote.vote_value) 作为分数排序
(降序)的问题是某些响应没有投票,因此带有 score 的响应
-1 将比没有投票的响应更高(实际上得分为 0)。
如果无法使用 SQL 执行此操作,我想我可以自己在应用程序代码中进行排序。
最佳答案
使用COALESCE当 SUM 返回 NULL 时选择一个值:
COALESCE(SUM(vote.vote_value), 0) AS score
关于mysql - 按投票排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11078387/