在这种情况下计算百分比的最佳方法
问题描述:
我有一个评论表,我在其中存储评论内容,作者ID,并且还有一个字段只能是1或0(如果它是1,这是最佳评论该职位)。我想要做的是通过它的id来计算特定用户的整个评论中的最佳评论的百分比。我想到的唯一方法是做两个mysql查询 - 首先计算最好的评论,然后计算总评论,然后计算百分比,但我相信有一个更好的方法来做到这一点,使用一个MySQL查询...有没有?在这种情况下计算百分比的最佳方法
答
好了,你还没有说你的表模式,但你可以做这样的事情:
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;
希望你对customer
领域的INDEX
在任何情况下comments
表。
SUM(最好)请您详细解释这部分内容吗? – 2011-02-11 21:44:18