This query is marked as a draft This query has been published by Blahma.

SQL

x
 
USE cswiki_p;
    SET @n = '5'; # <<edits threshold, default 5>>
    SET @u = '30'; # <<activity unit in days, default 30>>
    SET @T = '20170420000000'; # <<end date passed in, or each date between start and end if timeseries>>
    SELECT user_name FROM user WHERE user_id IN (
     SELECT user_id
       FROM (/* Get revisions to content pages that are still visible */
             SELECT user_id,
                    SUM(rev_id IS NOT NULL) AS revisions
               FROM user
                        INNER JOIN
                    logging     ON log_user = user_id
                        LEFT JOIN
                    revision    ON rev_user = user_id
              WHERE log_type = 'newusers'
                AND log_action = 'create'
                AND user_registration BETWEEN (@T - interval @u day) AND @T
                AND rev_timestamp BETWEEN (@T - interval @u day) AND @T
              GROUP BY user_id
              UNION ALL
             /* Get revisions to content pages that have been archived */
             SELECT user_id,
                    /* Note that ar_rev_id is sometimes set to NULL :( */
                    SUM(ar_id IS NOT NULL) AS revisions
               FROM user
                        INNER JOIN
                    logging     ON log_user = user_id
                        LEFT JOIN
                    archive     ON ar_user = user_id
              WHERE log_type = 'newusers'
                AND log_action = 'create'
                AND user_registration BETWEEN (@T - interval @u day) AND @T
                AND ar_timestamp BETWEEN (@T - interval @u day) AND @T
              GROUP BY user_id
            ) AS user_content_revision_count
      GROUP BY user_id
     HAVING SUM(revisions) >= @n
    );
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...