Da wir sowohl das Plugin Discourse Solved als auch das Plugin Data Explorer installiert haben, wie lautet die Abfrage, um die Anzahl der Lösungen pro Benutzer zu ermitteln?
Wenn ein Benutzer ein Thema löst, wird ein Eintrag in der Tabelle user_actions hinzugefügt, wobei der action_type auf 15 gesetzt ist.
Die folgende Abfrage sollte liefern, was du suchst:
SELECT
user_id,
COUNT(1) AS gelöst_anzahl
FROM user_actions
WHERE action_type = 15
GROUP BY user_id
ORDER BY gelöst_anzahl DESC
Das funktioniert! Vielen Dank!
Hallo!
Ich habe noch eine weitere Frage dazu. Zählt es auch alle Antworten aus öffentlichen Beiträgen sowie die, die eine Person als Lösung markiert hat, wenn sie private Nachrichten mit jemandem ausgetauscht hat? Danke für die Hilfe!
Man kann PMs nicht als gelöst markieren. Das ist eine Einstellung pro Kategorie.
Wenn die Site-Einstellung „Lösungsmarkierung in allen Themen zulassen
Vielen Dank, Simon, für dieses Wissen!
Als Ergänzung zu Simons obiger Frage verwenden wir diese Version, um die Anzahl der Lösungen pro Benutzer für einen bestimmten Zeitraum (im Format yyyy-mm-dd) anzuzeigen:
--[params]
-- date :start_date
-- date :end_date
SELECT
user_id,
COUNT(1) AS solved_count
FROM user_actions
WHERE created_at::date BETWEEN :start_date AND :end_date
AND action_type = 15
GROUP BY user_id
ORDER BY solved_count DESC
Es ist praktisch, zu sehen, wie sich dies von Monat zu Monat ändert.
Danke, Ben, dass du das geteilt hast!
Danke an alle für das Teilen dieser Abfragen!
Ich richte mein Discourse-Forum ein und frage mich, wie man die durchschnittliche Zeit bis zur Lösung (time_to_resolution) für das gesamte Forum ermitteln kann, ähnlich wie bei der average_time_for_first_response.
Meinst du, dass es aus Community-Sicht sinnvoll ist, solche Informationen bereitzustellen? Falls ja, bin ich mir nicht sicher, wie man diese Abfrage formulieren soll. Hast du Ideen?
Vielen Dank!
