Je prépare un rapport sur l’« état de la communauté » et j’ai pensé qu’il serait amusant de lister les badges de « Nouvel utilisateur du mois ». Voici ma requête :
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
Les résultats sont étranges :
| 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 |
Le plus souvent, il y a 2 badges « Nouvel utilisateur du mois » décernés. Notez qu’ils sont attribués en même temps. (Il est également un peu étrange qu’un utilisateur puisse recevoir le badge après un jour (voir le badge de juillet), mais il est tout à fait possible que quelqu’un commence très activement.)
Je ne vois pas d’inconvénient à reconnaître des personnes supplémentaires pour leurs bonnes contributions, mais j’aimerais expliquer ce qui se passe lorsque je rédige ce rapport. Il est également possible que notre configuration soit défectueuse.