Könnte mir jemand helfen, eine Abfrage zu erstellen, die die Benutzer zurückgibt, die einem Thema ein bestimmtes Tag hinzugefügt haben, sowie die Anzahl der Male, in denen sie dies innerhalb eines bestimmten Datumsbereichs getan haben?
@nixie, konntest du die beschriebene Abfrage bereits schreiben?
Benutzer, die einen bestimmten Tag verwendet haben
@southpaw es sollte das richtige Ergebnis zurückgeben
-- [params]
-- text :tag_name
SELECT tp.user_id, COUNT(tt.tag_id)
FROM topic_tags tt
INNER JOIN tags t ON t.id = tt.tag_id
INNER JOIN topics tp ON tp.id = tt.topic_id
WHERE t.name = :tag_name
GROUP BY tp.user_id, tt.tag_id
danke! Das scheint eine Liste von Benutzernamen und die Anzahl der Themen zurückzugeben, die von jedem dieser Benutzer erstellt wurden und nun mit „outdated" markiert sind.
Ich hoffe jedoch, herausfinden zu können, wer die Markierung vorgenommen hat. Ich möchte meine TL3s zu einem Wettstreit beim Markieren herausfordern, um einige veraltete Themen aufzuräumen, aber dafür muss ich in der Lage sein, die Punktzahl dafür zu führen, wer die meisten Markierungen vornimmt.
Wir haben in der Vergangenheit einen ähnlichen Wettbewerb beim „Lösen" von Themen durchführen können, da das Markieren eines Themas als gelöst ein action_type in user_actions ist. Allerdings sehe ich keine vergleichbaren Daten für das Hinzufügen eines Tags zu einem Thema.
Ich habe überlegt, ob man vielleicht kreativ mit „letzte Bearbeitung" arbeiten könnte (zählt das Markieren als Bearbeitung?), um herauszufinden, welcher Benutzer diese Aktion durchgeführt hat, und diesen Zeitstempel eventuell mit dem „updated"-Zeitstempel in topic_tags abzugleichen. Aber das ist mir leider zu komplex.