SELECT `av`.`answer_id`, SUM(IF(`av`.`helpful`=1, 1, -1)) as `score`
FROM `questions_answervote` AS `av`
JOIN `questions_answer` AS `a`
ON `a`.`id`=`av`.`answer_id` AND `a`.`question_id`='775819'
GROUP BY `av`.`answer_id`
HAVING SUM(IF(`av`.`helpful`=1, 1, -1)) > 0
Question
、Answer
およびの 3 つのモデルがありAnswerVote
ます。すべての質問には一連の Answers があり、すべての Answer には一連の AnswerVotes があります。AnswerVote にはhelpful
ブール値のフィールドがあります。
私がやろうとしているscore
のは、回答ごとに a を計算することにより、質問に対するすべての役立つ回答を取得することです (+1 for help=True、-1 for help=False)。スコアが 0 より大きい場合、Answer は役に立ちます。
どんな助けでも大歓迎です!