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.

Checking query status...