在这种情况下计算百分比的最佳方法

时间:2011-02-11 21:30:11

标签: mysql

我有一个评论表,我存储评论内容,作者ID,还有一个字段只能是1或0(如果它是1,这是对帖子的最佳评论)。我想要做的是通过它的id计算特定用户的整个评论中的最佳评论的百分比。我想到的唯一方法是制作两个mysql查询 - 首先计算最好的注释,然后计算总注释然后计算百分比,但我相信有一个更好的方法来做到这一点,使用一个mysql查询...有没有?

1 个答案:

答案 0 :(得分:4)

好吧,你还没有说明你的表架构,但你可以这样做:

SELECT customer, (SUM(best) / COUNT(comment_id)) * 100 AS percentage_best
FROM comments
GROUP BY customer;

由于best字段为1或0,对该列进行求和将给出best条评论的数量,然后您可以计算其余的数据。

对于特定客户,您当然可以省略GROUP BY和初始字段,并添加WHERE子句。

SELECT (SUM(best) / COUNT(comment_id)) * 100 AS percentage_best
FROM comments
WHERE customer = 123;

希望在任何一种情况下,INDEX表中的customer字段都有comments