Я собираю отчёт «О состоянии сообщества» и подумал, что было бы интересно включить в него значки «Новый пользователь месяца». Вот мой запрос:
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
Результаты выглядят странно:
| id | name | created_at | granted_at | to_char |
|---|---|---|---|---|
| 1613225 | Новый пользователь месяца | 2022-09-10T14:27:10.130Z | 2022-09-30T23:59:59.999Z | 2022 Sep |
| 1613874 | Новый пользователь месяца | 2022-09-18T21:57:19.944Z | 2022-09-30T23:59:59.999Z | 2022 Sep |
| 1611913 | Новый пользователь месяца | 2022-08-23T11:30:12.639Z | 2022-08-31T23:59:59.999Z | 2022 Aug |
| 1610355 | Новый пользователь месяца | 2022-07-30T20:12:00.342Z | 2022-07-31T23:59:59.999Z | 2022 Jul |
| 1609245 | Новый пользователь месяца | 2022-07-12T16:11:48.272Z | 2022-07-31T23:59:59.999Z | 2022 Jul |
| 1607137 | Новый пользователь месяца | 2022-06-09T23:37:46.687Z | 2022-06-30T23:59:59.999Z | 2022 Jun |
| 1607399 | Новый пользователь месяца | 2022-06-14T14:16:14.247Z | 2022-06-30T23:59:59.999Z | 2022 Jun |
В большинстве случаев выдаются два значка «Новый пользователь месяца». Обратите внимание, что они вручаются одновременно. (Кстати, немного странно, что пользователь может получить значок спустя день (см. значок за июль), но, конечно, кто-то может начать с чрезмерной активности.)
Я не против отмечать дополнительных людей за их вклад, но мне хотелось бы объяснить, что происходит, когда я буду описывать это в отчёте. Также возможно, что в нашей конфигурации что-то настроено неправильно.