Toggle navigation
Home
New Query
Recent Queries
Discuss
Database tables
Database names
MediaWiki
Wikibase
Replicas browser and optimizer
Login
History
Fork
This query is marked as a draft
This query has been published
by
Udo T.
.
dewikt-Stimmberechtigung ermitteln. Oben den username ersetzen und den Beginn der Abstimmung in den 2 Datumsfeldern, wie im Kommentar angemerkt ACHTUNG: Bei @utc_timestamp_str ist die UTC-Zeit anzugeben, sonst könnte das Ergebnis faslch sein
Toggle Highlighting
SQL
-- Geben Sie den Benutzernamen und den Zeitstempel im menschlich lesbaren Format ein -- Bei der Uhrzeit des UTC-Zeitstempels die Uhrzeit bitte in UTC -- Während Winterzeit also 1 Stunde zurück und während Sommerzeit 2 Stunden zurück -- mit Dank an HyperDelulu für seine guten Vorschläge zur Verbesserung -- SET @username = 'username'; -- Bitte den Benutzenamen einsetzen SET @local_timestamp_str = '2024-12-11 11:00:00'; -- Wird nur für die Ausgabe benötigt SET @utc_timestamp_str = '2024-12-11 10:00:00'; -- während Winterzeit 1 Stunde und während Sommerzeit 2 Stunden zurück -- Konvertieren Sie den Zeitstempel in das interne Format SET @timestamp = DATE_FORMAT(STR_TO_DATE(@utc_timestamp_str, '%Y-%m-%d %H:%i:%s'), '%Y%m%d%H%i00'); -- Abrufen des Datums der ersten Bearbeitung SELECT /* SLOW_OK */ NVL(MIN(r.rev_timestamp), '99991231235959') INTO @first_edit_date FROM revision_userindex r where r.rev_actor = (select a.actor_id from actor_revision a where a.actor_name = @username); -- Prüfen, ob Anzahl der Bearbeitungen bis zum angegebenen Zeitstempel mind. 150 select /* SLOW_OK */ count(*) INTO @edit_count from revision_userindex r, page p where r.rev_actor = (select a.actor_id from actor_revision a where a.actor_name = @username) and p.page_id = r.rev_page and p.page_namespace = 0 and r.rev_timestamp <= @timestamp and rownum() <= 150; SET @is_first_edit_older_than_month = IF(@first_edit_date <= DATE_FORMAT(DATE_SUB(@timestamp, INTERVAL 1 MONTH), '%Y%m%d%H%i00'), 1, 0); SET @first_edit_date_str = DATE_FORMAT(@first_edit_date, '%Y-%m-%d %H:%i:00'); -- Überprüfen der Bedingungen und Ausgabe der Nachricht CASE WHEN @edit_count > 149 AND @is_first_edit_older_than_month = 1 THEN SELECT CONCAT(@username, ' ist stimmberechtigt, da die erste lokale Bearbeitung am ', @first_edit_date_str , ' (UTC) erfolgte und bis zum ', @local_timestamp_str, ' > 150 Bearbeitungen im Eintragsnamensraum gemacht wurden.') as Ergebnis; WHEN @edit_count <= 149 AND @is_first_edit_older_than_month = 1 THEN SELECT CONCAT(@username, ' ist nicht stimmberechtigt, weil bis zum ', @local_timestamp_str, ' weniger als 150 Änderungen im Eintragsnamensraum (', @edit_count, ') gemacht wurden.') as Ergebnis; WHEN @edit_count > 149 AND @is_first_edit_older_than_month = 0 THEN SELECT CONCAT(@username, ' ist nicht stimmberechtigt, da die erste lokale Bearbeitung (', @first_edit_date_str, ') (UTC) weniger als einen Monat zurückliegt.') as Ergebnis; WHEN @edit_count <= 149 AND @is_first_edit_older_than_month = 0 THEN SELECT CONCAT(@username, ' ist nicht stimmberechtigt, da die erste lokale Bearbeitung (', @first_edit_date_str, ') (UTC) weniger als einen Monat zurückliegt und weil bis zum ', @local_timestamp_str, ' weniger als 150 Änderungen im Eintragsnamensraum (', @edit_count, ') gemacht wurden..') as Ergebnis; END CASE;
By running queries you agree to the
Cloud Services Terms of Use
and you irrevocably agree to release your SQL under
CC0 License
.
Submit Query
Stop Query
All SQL code is licensed under
CC0 License
.
Checking query status...