Fork of
TOP reviewers pl 2023
by Nux
This query is marked as a draft
This query has been published
by Nux.
SQL
x
SELECT actor_name, log_namespace as namespace
, review_count
, review_count_i as review_count_intial
, (review_count + review_count_i) as review_count_total
FROM
(
SELECT actor_name, review_count, IFNULL(review_count_i, 0) as review_count_i, log_namespace
FROM
(
-- Count of regular reviews from the last week
SELECT COUNT(*) as review_count, log_actor, log_namespace
FROM logging
WHERE log_type = 'review' AND log_action = 'approve'
AND log_timestamp >= DATE_FORMAT(DATE_SUB(NOW(), INTERVAL WEEKDAY(NOW()) DAY), '%Y%m%d000000') -- From last Monday 00:01
GROUP BY log_actor, log_namespace
HAVING review_count > 10
) r_next
-- Add initial reviews
LEFT JOIN
(
-- Count of initial reviews from the last week
SELECT COUNT(*) as review_count_i, log_actor as log_actor_i, log_namespace as log_namespace_i
FROM logging
WHERE log_type = 'review' AND log_action = 'approve-i'
AND log_timestamp >= DATE_FORMAT(DATE_SUB(NOW(), INTERVAL WEEKDAY(NOW()) DAY), '%Y%m%d000000') -- From last Monday 00:01
GROUP BY log_actor, log_namespace
) r_initial ON log_actor_i = log_actor AND log_namespace = log_namespace_i
-- actor_name
LEFT JOIN actor a ON actor_id = log_actor
) top_reviewers
ORDER BY review_count_total DESC
LIMIT 100;
By running queries you agree to the Cloud Services Terms of Use and you irrevocably agree to release your SQL under CC0 License.
All SQL code is licensed under CC0 License.