Ich stelle einen Bericht über den „Zustand der Community“ zusammen und dachte, es wäre unterhaltsam, die Auszeichnungen „Neuer Benutzer des Monats“ aufzulisten. Hier ist meine Abfrage:
SELECT u.id,
b.name,
u.created_at,
ub.granted_at,
to_char(date_trunc('month', ub.granted_at), 'YYYY Mon')
from badges b
join user_badges ub on b.id = ub.badge_id
join users u on u.id = ub.user_id
where b.name like '%Month%'
order by ub.granted_at desc
Die Ergebnisse sind seltsam:
| id | name | created_at | granted_at | to_char |
|---|---|---|---|---|
| 1613225 | New User of the Month | 2022-09-10T14:27:10.130Z | 2022-09-30T23:59:59.999Z | 2022 Sep |
| 1613874 | New User of the Month | 2022-09-18T21:57:19.944Z | 2022-09-30T23:59:59.999Z | 2022 Sep |
| 1611913 | New User of the Month | 2022-08-23T11:30:12.639Z | 2022-08-31T23:59:59.999Z | 2022 Aug |
| 1610355 | New User of the Month | 2022-07-30T20:12:00.342Z | 2022-07-31T23:59:59.999Z | 2022 Jul |
| 1609245 | New User of the Month | 2022-07-12T16:11:48.272Z | 2022-07-31T23:59:59.999Z | 2022 Jul |
| 1607137 | New User of the Month | 2022-06-09T23:37:46.687Z | 2022-06-30T23:59:59.999Z | 2022 Jun |
| 1607399 | New User of the Month | 2022-06-14T14:16:14.247Z | 2022-06-30T23:59:59.999Z | 2022 Jun |
Meistens werden 2 „New User of the Month“-Badges vergeben. Beachten Sie, dass sie zur gleichen Zeit vergeben werden. (Es ist auch etwas seltsam, dass ein Benutzer das Badge nach einem Tag erhalten könnte (siehe das Juli-Badge), aber es ist sicherlich möglich, dass jemand von Anfang an hyperaktiv ist.)
Es macht mir nichts aus, zusätzliche Personen für gute Beiträge anzuerkennen, aber ich möchte erklären, was vor sich geht, wenn ich dies aufschreibe. Es ist auch möglich, dass wir etwas in unserer Konfiguration vermasselt haben.