Abzeichen für 10 und 100 Wiki-Bearbeitungen über Themen hinweg

Fortsetzung der Diskussion von Die Standard-Abzeichenabfragen:

Ich versuche, ein Silberabzeichen für 10 Wiki-Bearbeitungen (über alle Beiträge hinweg) und ein Goldabzeichen für 100 Wiki-Bearbeitungen zu erstellen – aber weder ich noch der Forum-Helfer kommen weiter.

Haben Sie Vorschläge?

Ich habe mit diesem Format experimentiert, um das MIN/MAX-Problem zu vermeiden, bei dem das falsche granted_at-Datum zugewiesen wird, wenn ein Abzeichen ‘mitten im Ablauf’ übernommen wird (sie funktionieren tendenziell besser, wenn die Leute die Kriterien noch nicht erfüllt haben, bevor das Abzeichen eingeführt wird).

Also vielleicht so etwas wie:

SELECT 
    user_id,
    created_at granted_at
FROM (
    SELECT 
        pr.user_id,
        pr.created_at,
        ROW_NUMBER() OVER (PARTITION BY pr.user_id ORDER BY pr.created_at) as row_number
    FROM post_revisions pr
    INNER JOIN badge_posts p ON p.id = pr.post_id
    WHERE p.wiki = TRUE
      AND pr.hidden = FALSE
      AND pr.user_id > 0
) AS revisions
WHERE row_number = 100

(Ich habe die üblichen ‘gelöschte Themen oder Beiträge nicht einschließen’ nicht berücksichtigt, da Bearbeitungen alter Wikis wahrscheinlich trotzdem zählen sollten. Ich habe auch keine Nachfüllung hinzugefügt, aber ich denke, diese hier wäre ‘täglich aktualisieren’ als Auslöser?)

2 „Gefällt mir“

Schön! Ist es für 100 Bearbeitungen über Wiki-Beiträge hinweg oder für die Bearbeitung von 100 Wiki-Beiträgen?

Das sind 100 Überarbeitungen von Wiki-Beiträgen, sodass das Bearbeiten eines Beitrags hundertmal (oder hundertundeinmal) das Abzeichen auslösen würde.

2 „Gefällt mir“

Nach etwas mehr Überlegung (und einem kurzen Gespräch mit Bert :slight_smile:) denke ich, dass ROW_NUMBER hier die bessere Wahl wäre. Ich werde die obige Abfrage bearbeiten. :+1:

2 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.