计算特定回复的投票

时间:2016-10-23 15:43:21

标签: php mysql

我有一张记录投票记录的表格

条件

  1. 回复可以有很多票;

  2. 用户可以对特定的回复ID进行一次投票。

    表:reply_vote

        +----+-------------+-------------+   
        | id |   reply_id  | userID      | 
        +----+-------------+----+--------+   
        | 1  | 23          | 21          | 
        | 3  | 33          | 21          | 
        | 4  | 23          | 25          | 
        | 5  | 23          | 12          | 
    
  3. 我想显示每个回复的总票数

    例如

      

    reply_id 23与userid(21,25,12)有3票赞成

         

    reply_id 33在userid(21)

    中有1票

    我不想在php中使用while循环获取所有数据

    到目前为止我使用了以下查询,但是它显示的页面上的所有投票都不是必需的

    SELECT
      reply.id,
      reply.reply,
      COUNT(reply_vote.id) AS likes
    FROM reply
      LEFT JOIN reply_vote ON reply_vote.reply_id = reply.id
    GROUP BY reply.id
    

    我该怎么做?

1 个答案:

答案 0 :(得分:0)

试试这段代码:

SELECT reply.id, reply.reply, 
    COUNT(reply_vote.id) as likes
    FROM reply 
    INNER JOIN reply_vote ON reply_vote.reply_id = reply.id 
    GROUP BY reply_vote.reply_id