【问题标题】:MySQL count and totalMySQL 计数和总数
【发布时间】:2010-09-18 14:30:07
【问题描述】:

我有一张桌子,上面记录了很多票,每张票都反对一个帖子。我想要做的是计算每次投票的总次数。

表格如下:

    vote
    -----
    1
    2
    3
    1
    2
    3
    4
    5
    2
    2
    2
    2
    ...and so on...

我如何计算记录,例如在该列表中 1x2、2x6、3x2、4x1 和 5x1 次。

【问题讨论】:

    标签: php mysql


    【解决方案1】:
    select vote, count(votes) as vt
    from t_your_table
    group by vote
    

    【讨论】:

    • 如何在 PHP 中回显结果?
    • 如果您使用 $row = mysql_fetch_object($result),那么您可以使用 $row->vote 和 $row->vt(这是特定 $row-> 的总票数投票)。
    【解决方案2】:

    要得到你想要的,你可以使用 GROUP BY 和 COUNT:

    SELECT vote, COUNT(*) AS cnt
    FROM votes
    GROUP BY vote
    

    结果:

    投票数 1 2 2 6 3 2 4 1 5 1

    计数为零的投票将不会出现在此结果集中。如果您希望将这些包含在零计数中,则需要使用 OUTER JOIN 和一个列出所有可能投票的表。

    SELECT
        possible_votes.vote,
        COUNT(votes.vote) AS cnt
    FROM possible_votes
    LEFT JOIN votes ON possible_votes.vote = votes.vote
    GROUP BY possible_votes.vote
    

    结果:

    投票数 1 2 2 6 3 2 4 1 5 1 6 0

    【讨论】:

      【解决方案3】:

      查看 MySQL 手册中的 GROUP BY 和 COUNT。

      【讨论】:

        【解决方案4】:
        SELECT vote, COUNT(*) as total
        FROM votes
        GROUP BY vote
        

        【讨论】:

          猜你喜欢
          • 2013-03-01
          • 2011-02-14
          • 2012-04-04
          • 2016-08-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多