MySQL数量和总数

时间:2010-09-17 19:26:48

标签: php mysql

我有一张表中记录了多张选票,每张投票都是针对一个帖子。我希望能够做的是计算每次投票的总发生率。

表格如下:

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

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

4 个答案:

答案 0 :(得分:3)

select vote, count(votes) as vt
from t_your_table
group by vote

答案 1 :(得分:2)

要获得您想要的内容,您可以使用GROUP BY和COUNT:

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

结果:

vote  cnt
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

结果:

vote  cnt
1     2  
2     6  
3     2  
4     1  
5     1  
6     0

答案 2 :(得分:1)

检查GROUP BY的手册以及COUNT。

答案 3 :(得分:0)

SELECT vote, COUNT(*) as total
FROM votes
GROUP BY vote