【发布时间】: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 次。
【问题讨论】:
我有一张桌子,上面记录了很多票,每张票都反对一个帖子。我想要做的是计算每次投票的总次数。
表格如下:
vote
-----
1
2
3
1
2
3
4
5
2
2
2
2
...and so on...
我如何计算记录,例如在该列表中 1x2、2x6、3x2、4x1 和 5x1 次。
【问题讨论】:
select vote, count(votes) as vt
from t_your_table
group by vote
【讨论】:
要得到你想要的,你可以使用 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【讨论】:
查看 MySQL 手册中的 GROUP BY 和 COUNT。
【讨论】:
SELECT vote, COUNT(*) as total
FROM votes
GROUP BY vote
【讨论】: