Это не те столбцы, которые я бы выбрал для использования.
Для голосования необходимо знать a) какая статья b) какой пользователь c) проголосовали ли они за или против. Таким образом, у меня будет ArticleID (который является вашим внешним ключом к вашей таблице Article), UserID и голосования, которые будут либо 1, либо -1. Затем SELECT ArticleID, SUM(Vote) AS TotalVote FROM Votes GROUP BY ArticleID
сообщит вам общее количество голосов по каждой статье, и вы можете отсортировать, если хотите.
Но так как вы также ищете статьи, вы можете использовать ваш ArticleID, чтобы присоединиться слева от таблицы статей к таблице голосов. Обратите внимание, что в этом случае SUM(Vote)
будет NULL
, если ваша статья еще не имеет голосов, поэтому вам, возможно, придется использовать IFNULL(SUM(Vote), 0)
.