SQL
x
SELECT COUNT(DISTINCT actor_id) AS unique_user_count
FROM (
-- Early uploads (page creators with later rev_comment_id = 33984)
SELECT r_first.rev_actor AS actor_id
FROM revision r_first
WHERE r_first.rev_parent_id = 0
AND EXISTS (
SELECT 1
FROM revision r_later
WHERE r_later.rev_page = r_first.rev_page
AND r_later.rev_comment_id = 33984
)
AND r_first.rev_timestamp < '20120823203303'
UNION
-- Middle period uploads (log_comment_id = 44)
SELECT l.log_actor AS actor_id
FROM logging l
WHERE l.log_type = 'upload'
AND l.log_comment_id = 44
AND l.log_timestamp >= '20120823203303'
AND l.log_timestamp < '20170510194757'
UNION
-- Recent uploads (change tag = 'uploadwizard')
SELECT l.log_actor AS actor_id
FROM logging l
JOIN change_tag ct ON ct.ct_log_id = l.log_id
JOIN change_tag_def ctd ON ct.ct_tag_id = ctd.ctd_id
WHERE l.log_type = 'upload'
AND ctd.ctd_name = 'uploadwizard'
AND l.log_timestamp >= '20170510194757'
) AS all_uploadwizard_actors;
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.