대시보드 보고서 - 시스템

네, 이를 추가하는 가장 좋은 방법은 쿼리의 WHERE 절에 섹션을 추가하여 토픽 title로 필터링하는 것입니다.

예를 들어:

WHERE archetype = 'private_message'
  AND subtype = 'system_message'
  AND created_at BETWEEN :start_date AND :end_date
  AND title = 'Greetings!'

이렇게 하면 모든 Greetings! 메시지를 찾을 수 있습니다.

일부 시스템 메시지는 실제 사용자를 포함하지 않으므로, 이러한 유형의 쿼리에서는 AND user_id > 0 줄을 제거할 필요가 있을 수 있습니다.

사용자가 삭제할 수 있는 환영 메시지도 계산에 포함하려면 AND deleted_at IS NULL도 제거하는 것이 좋습니다.

유사한 제목을 가진 토픽을 일치시키기 위해 정규식(regex)을 사용할 수 있습니다.

PostgreSQL에서 정규식을 사용하여 제목으로 토픽을 일치시키려면 문자열과 정규식을 비교하는 ~ 연산자를 사용할 수 있습니다. 쿼리 구조는 다음과 같습니다:

SELECT *
FROM topics
WHERE title ~ 'YourRegexPatternHere'

'YourRegexPatternHere'를 title 필드와 일치시키고자 하는 실제 정규식 패턴으로 대체하세요.

예를 들어, 제목에 "Welcome"라는 단어가 포함된 토픽(대소문자 구분 없이)을 찾고자 한다면 다음과 같이 사용할 수 있습니다:

SELECT *
FROM topics
WHERE title ~* 'Welcome'

~* 연산자는 대소문자를 구분하지 않는 매칭에 사용됩니다.