이번 달의 신규 사용자 두 명?

“커뮤니티 현황” 보고서를 작성하고 있는데, “이달의 신규 사용자” 배지를 나열해 보는 것도 재미있을 것 같아. 다음이 내 쿼리야:

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 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

대부분의 경우 “이달의 신규 사용자” 배지가 2개 수여되는 걸 볼 수 있어. 참고로 배지 수여 시점이 동일하다. (사용자가 하루 뒤에 배지를 받는 경우도 있는데, 7월 배지를 보면 그런 경우가 있어. 하지만 누군가가 처음부터 매우 활발하게 활동할 수도 있으므로 충분히 가능한 일이지.)

좋은 기여를 한 추가적인 사람들을 인정하는 건 괜찮지만, 이 보고서를 작성할 때 어떤 일이 일어나고 있는지 설명하고 싶어. 또한 설정에 뭔가 문제가 있는 것도 가능해.

두 명의 사용자에게 수여되어야 합니다: :+1:

이 배지는 매월 두 명의 신규 사용자를 선정하여, 그들의 게시물이 얼마나 자주, 그리고 누구에게 좋아요를 받았는지를 기준으로 전반적인 기여도가 우수할 경우 축하하기 위해 수여됩니다

(배지 설명에서 발췌)

아니, 정말! 읽지를 않는 사용자들을 탓하는 걸 그만둬야겠다. 그래도 다른 달에는 하나밖에 없다는 게 좀 이상하긴 하다. 조건을 충족하는 신규 사용자가 부족해서 그런 건가?

처음에는 해당 월에 배지가 두 명에게 부여되었지만, 그 후 한 사용자의 계정이 삭제된 것이 아닐까 하는 생각이 듭니다.