Wikiprojekti:Väärinkäyttösuodatin/tilasto

Listauksessa on Väärinkäyttösuodattimen 133 laukaisseet muokkaajat päivittäin ryhmiteltynä eli vaikka käyttäjä olisi osunut väärinkäyttösuodattimeen useita kertoja saman vuorokauden aikana, niin hän on listalla vain kerran. Kumottu 24h sarake kertoo onko käyttäjä tullut kumotuksi 24 tunnin sisällä väärinkäyttösuodattimen laukaisusta ja viimeinen sarake kertoo onko käyttäjällä ylipäätänsä muokkauksia väärinkäyttösuodattimen osuman jälkeen. Tilasto kattaa aikavälin 3.3.2017 -> 31.3.2017.

Vk pvm
Väärinkäyttösuodattimen laukeamispäivämäärä
Muokkaaja
Väärinkäyttösuodattimen laukaissut käyttäjä
Kumottu 24h sisällä
Onko jokin käyttäjän muokkaus kumottu 24h sisällä väärinkäyttösuodattimen laukeamisesta. NULL = ei ole ; 1 = kyllä ; 0 = käyttäjän muokkaus on kumottu yli 24h päästä
Muokannut
Onko käyttäjä muokannut väärinkäyttösuodattimen osuman jälkeen; NULL = ei ; 1 = kyllä


SELECT floor(afl_timestamp/1000000) as d, afl_user_text, min(DATEDIFF(str_to_date(rc2.rc_timestamp, "%Y%m%d%H%i%S"), str_to_date(afl_timestamp,"%Y%m%d%H%i%S")))=0 as min_d, (afl_timestamp<rc4.max_timestamp) as t FROM abuse_filter_log as a1 LEFT JOIN (SELECT rc1.rc_title, rc1.rc_user_text, rc1.rc_cur_id, rc1.rc_timestamp,rc1.rc_this_oldid FROM recentchanges_userindex as rc1, (SELECT sum(1) as c, min(r2.rev_timestamp) as min_timestamp, max(r1.rev_timestamp) as max_timestamp, r1.rev_page,r1.rev_sha1 FROM revision as r1, revision as r2 WHERE r1.rev_timestamp > 20170303000000 AND r1.rev_comment NOT LIKE concat("%/", r2.rev_user_text, "%") AND r1.rev_page=r2.rev_page AND r2.rev_timestamp < r1.rev_timestamp AND r1.rev_sha1=r2.rev_sha1 GROUP BY r1.rev_page, r1.rev_sha1) AS reverts WHERE rc1.rc_cur_id=reverts.rev_page AND rc1.rc_timestamp>reverts.min_timestamp AND rc1.rc_timestamp < reverts.max_timestamp AND rc1.rc_source="mw.edit" ) AS rc2 ON afl_user_text=rc2.rc_user_text AND rc2.rc_timestamp > afl_timestamp LEFT JOIN (SELECT rc_user_text, max(rc_timestamp) as max_timestamp FROM recentchanges_userindex WHERE rc_source="mw.edit" GROUP BY rc_user_text) as rc4 ON rc4.rc_user_text=rc2.rc_user_text where afl_filter=133 AND afl_timestamp > 20170303000000 GROUP BY d,afl_user_text;