Как подсчитать общее количество голосов за все сообщения, используя MySQL - PullRequest
0 голосов
/ 12 февраля 2019
  • запись таблицы 2 столбца: postid, вопрос

  • ответы таблицы 4 столбца: ansid (PK), postid,идентификатор пользователя, ответ

  • голосование в таблице 4 столбца: postid, идентификатор пользователя, ansid, upvote

Всего голосовдля одного сообщения

SELECT sum(votes.upvote) as 'totalupvote' FROM `answers` 
            JOIN post on post.postid=answers.postid
            JOIN votes on votes.ansid=answers.ansid
            WHERE post.postid='1'

как подсчитать общее количество голосов за все сообщения?

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Для отображения общего количества голосов за все сообщения

SELECT sum(votes.upvote) as 'totalupvote',post.postid,post.question FROM 
   votes inner JOIN post on post.postid=votes.postid            
        GROUP by post.postid
0 голосов
/ 12 февраля 2019

Если вы хотите, чтобы итоги по postid:

SELECT postid, sum(upvote) as sumupvote 
FROM votes 
GROUP BY postid

Если вам также нужен столбец question:

select p.postid, p.question, v.sumupvote
from post p inner join (
  SELECT postid, sum(upvote) as sumupvote 
  FROM votes 
  GROUP BY postid
) v on v.postid = p.postid
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...