Ich hatte das Gefühl, ich war schon nah dran.
Gut gemacht. ![]()
Ich versuche herauszufinden, ob eine CTE effizienter ist, aber das raubt mir den letzten Nerv ![]()
WITH staff_liked AS (
SELECT COUNT(*), pa.post_id
FROM post_actions pa
JOIN group_users gu ON gu.user_id = pa.user_id
WHERE post_action_type_id = 2
AND gu.group_id = 3
AND deleted_at IS NULL
GROUP BY pa.post_id
HAVING COUNT(*) >= 5
)
SELECT p.user_id, MAX(p.created_at) granted_at
FROM badge_posts p
WHERE p.id IN (SELECT post_id FROM staff_liked)
AND p.user_id >= 0
GROUP BY p.user_id
HAVING COUNT(*) >= 10
3 Beiträge wurden in ein neues Thema aufgeteilt: Was ist der 'Backfill`?
[quote=“JammyDodger, post:25, topic:276728”]
zählt nur Beiträge aus öffentlichen Kategorien
[/quote]Hm. Das bedeutet, dass es zum Beispiel unsere gesperrte TL0-Kategorie nicht zählt?
Ja, die badge_post-Ansicht filtert einige Dinge vor, um die Abfragen zu vereinfachen. Sie können sie so anpassen, dass stattdessen die posts-Tabelle verwendet wird, die alle Kategorien einschließt. Möglicherweise benötigen Sie jedoch eine zusätzliche Zeile oder zwei, um gelöschte Beiträge oder gelöschte Themen usw. auszuschließen (obwohl dies möglicherweise nicht erforderlich ist, wenn Sie es einfach halten möchten und die Leute die Auszeichnung behalten lassen möchten, sobald sie sie verdient haben, auch wenn ihre Beiträge gelöscht werden).