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

SQL

AخA
 
use fawiki_p;
SELECT
  user_name,
  IFNULL(del.cnt, 0),
  IFNULL(res.cnt, 0),
  IFNULL(revdel.cnt, 0),
  IFNULL(logdel.cnt, 0),
  IFNULL(prot.cnt, 0),
  IFNULL(unprot.cnt, 0),
  IFNULL(editprot.cnt, 0),
  IFNULL(block.cnt, 0),
  IFNULL(unblock.cnt, 0),
  IFNULL(editblock.cnt, 0),
  IFNULL(renames.cnt, 0),
  IFNULL(rights.cnt, 0),
  (
    IFNULL(del.cnt, 0) +
    IFNULL(res.cnt, 0) +
    IFNULL(revdel.cnt, 0) +
    IFNULL(logdel.cnt, 0) +
    IFNULL(prot.cnt, 0) +
    IFNULL(unprot.cnt, 0) +
    IFNULL(editprot.cnt, 0) +
    IFNULL(block.cnt, 0) +
    IFNULL(unblock.cnt, 0) +
    IFNULL(editblock.cnt, 0) +
    IFNULL(renames.cnt, 0) +
    IFNULL(rights.cnt, 0)
  ) tot
FROM user JOIN user_groups
  ON user_id = ug_user
  AND ug_group = 'sysop'
  join logging on user_id = logging.log_user
LEFT JOIN (
  SELECT
   log_user,
   COUNT(log_id) cnt
  FROM logging
  WHERE
    log_type = 'delete'
    AND log_action='delete'
  GROUP BY log_user
) del
  ON user_id = del.log_user
LEFT JOIN (
  SELECT
    log_user,
    COUNT(log_id) cnt
  FROM logging
  WHERE
    log_type = 'delete'
    AND log_action='restore'
  GROUP BY log_user
) res
  ON user_id = res.log_user
LEFT JOIN (
  SELECT
    log_user,
    COUNT(log_id) cnt
  FROM logging
  WHERE
    log_type = 'delete'
    AND log_action='revision'
  GROUP BY log_user
) revdel
  ON user_id = revdel.log_user
LEFT JOIN (
  SELECT
    log_user,    COUNT(log_id) cnt
  FROM logging
  WHERE
    log_type = 'delete'
    AND log_action = 'event'
  GROUP BY log_user
) logdel
  ON user_id = logdel.log_user
LEFT JOIN (
  SELECT
    log_user,
    COUNT(log_id) cnt
  FROM logging
  WHERE
    log_type = 'protect'
    AND log_action = 'protect'
  GROUP BY log_user
) prot
  ON user_id = prot.log_user
LEFT JOIN (
  SELECT
    log_user,
    COUNT(log_id) cnt
  FROM logging
  WHERE
    log_type = 'protect'
    AND log_action = 'unprotect'
  GROUP BY log_user
) unprot
  ON user_id = unprot.log_user
LEFT JOIN (
  SELECT
    log_user,
    COUNT(log_id) cnt
  FROM logging
  WHERE
    log_type = 'protect'
    AND log_action = 'modify'
  GROUP BY log_user
) editprot
  ON user_id = editprot.log_user
LEFT JOIN (
  SELECT
    log_user,
    COUNT(log_id) cnt
  FROM logging
  WHERE
    log_type = 'block'
    AND log_action = 'block'
  GROUP BY log_user
) block
  ON user_id = block.log_user
LEFT JOIN (
  SELECT
    log_user,
    COUNT(log_id) cnt
  FROM logging
  WHERE
    log_type = 'block'
    AND log_action = 'unblock'
  GROUP BY log_user
) unblock
  ON user_id = unblock.log_user
LEFT JOIN (
  SELECT
    log_user,
    COUNT(log_id) cnt
  FROM logging
  WHERE
    log_type = 'block'
    AND log_action = 'reblock'
  GROUP BY log_user
) editblock
  ON user_id = editblock.log_user
LEFT JOIN (
  SELECT
    log_user,
    COUNT(log_id) cnt
  FROM logging
  WHERE log_type = 'renameuser'
  GROUP BY log_user
) renames
  ON user_id = renames.log_user
LEFT JOIN (
  SELECT
    log_user,
    COUNT(log_id) cnt
  FROM logging
  WHERE log_type = 'rights'
  AND log_action = 'rights'
  GROUP BY log_user
) rights
  ON user_id = rights.log_user
where log_timestamp > 20171200000000
ORDER BY tot DESC
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...