在我运行的网站上,我让用户对各个帖子进行评分(3、2、1)。我使用以下 SQL(在 MySQL 中)来获取每个值的投票百分比:
SELECT vote, COUNT(*) * t.factor AS pct
FROM ratings
JOIN (
SELECT 100 / COUNT(*) AS factor
FROM ratings
) AS t
GROUP BY vote
LIMIT 0, 30;
这对于计算整个表的行百分比来说效果很好。现在,我需要特定帖子的百分比,该帖子在表中由“id”列标识。我该怎么做?
最佳答案
这个问题似乎有点误导......但这就是我想象的样子。
SELECT vote, COUNT(*) * t.factor AS pct
FROM ratings
JOIN (
SELECT 100 / COUNT(*) AS factor
FROM ratings
where id = id of the post
) AS t
where id = id of the post
GROUP BY vote
关于sql - 选择具有不同值的行的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1121850/