직접 메시지 조회 (간격)

지정된 기간 동안 사용자가 보낸 메시지와 받은 메시지에 대한 심층 분석.

-- [params]
-- user_id :user
-- string :interval = 1 month

SELECT 
    chat_channel_id,
    user_id,
    message,
    created_at AS reltime$time,
    created_at 
FROM chat_messages
WHERE chat_channel_id IN (
       SELECT cc.id
       FROM chat_channels cc
       JOIN chat_messages cm ON cm.chat_channel_id = cc.id
       WHERE cc.chatable_type = 'DirectMessage'
       AND cm.user_id = :user
   )
AND created_at::date > CURRENT_TIMESTAMP - INTERVAL :interval
ORDER BY chat_channel_id DESC, created_at ASC

이것은 여전히 작동하지만, 얼마 전에 이루어진 테이블 변경 사항을 반영하기 위해 아주 작은 조정이 필요하다는 것을 발견했습니다. 다만 채널 ID에만 영향을 미치므로, 깨지는 문제는 아닙니다.