summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2009-11-15 09:06:20 +0100
committerYorhel <git@yorhel.nl>2009-11-15 09:25:29 +0100
commit0a1b1d255224f690b226fc74ad00ad2d30cf6d25 (patch)
treec18f8c288290a6624584d12e25cd9cc6100600bf /lib
parent7791d0236a9bcd85ea3542360b0c68a8492a909e (diff)
SQL: Fixed bug in bayesian rating calculation
avg_rating should be the average rating of all VNs, not the global average vote.
Diffstat (limited to 'lib')
-rw-r--r--lib/Multi/Maintenance.pm2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Multi/Maintenance.pm b/lib/Multi/Maintenance.pm
index 836f24ee..0ea7ef29 100644
--- a/lib/Multi/Maintenance.pm
+++ b/lib/Multi/Maintenance.pm
@@ -122,7 +122,7 @@ sub vnrating {
$_[KERNEL]->post(pg => do => q|
UPDATE vn SET
c_rating = (SELECT (
- ((SELECT COUNT(vote)::real/COUNT(DISTINCT vid)::real FROM votes)*(SELECT AVG(vote)::real FROM votes) + SUM(vote)::real) /
+ ((SELECT COUNT(vote)::real/COUNT(DISTINCT vid)::real FROM votes)*(SELECT AVG(a)::real FROM (SELECT AVG(vote) FROM votes GROUP BY vid) AS v(a)) + SUM(vote)::real) /
((SELECT COUNT(vote)::real/COUNT(DISTINCT vid)::real FROM votes) + COUNT(uid)::real)
) FROM votes WHERE vid = id AND uid NOT IN(SELECT id FROM users WHERE ign_votes)
),