질문에 직접 답변해 드리겠습니다. 가장 최근 첫 게시글을 작성한 사용자를 가져오기 위한 Data Explorer 쿼리는 다음과 같습니다:
-- [params]
-- date :start_date
SELECT u.id AS user_id, p.id AS post_id, p.created_at
FROM users u
JOIN user_stats us
ON u.id = us.user_id
JOIN posts p
ON u.id = p.user_id
WHERE p.created_at = us.first_post_created_at
AND us.first_post_created_at BETWEEN :start_date::date AND NOW()
ORDER BY us.first_post_created_at desc
이것은 @tshenry 님의 이 쿼리를 약간 수정한 것입니다:
예를 들어, 한 주 또는 한 달 전으로 거슬러 올라가는 설정 시간을 두면 더 개선될 수 있을 것 같습니다. 하지만 NOW() - 7 또는 이와 유사한 표현이 어떻게 작동하는지 파악하지 못해 저에게는 불가능했습니다.
또한, @tshenry 님의 다른 쿼리처럼 PM(개인 메시지)을 제외하는 기능이 있다면 좋겠지만, 저는 SQL 초보자라 그 방법을 알아내는 데 상당한 시간이 걸릴 것 같습니다.