SQL은 잘 모르지만, 지난 3개월간의 검색 로그를 조회하는 방법에 대해 ChatGPT에게 물었을 때 받은 답변이 있습니다. 이 쿼리가 제대로 동작할까요? (테스트해 볼 수 있는 관리자 권한은 없지만, 관리자에게 전달할 확실한 쿼리를 갖고 싶습니다.)
Discourse Data Explorer를 사용하여 지난 3개월간의 모든 검색 로그 데이터를 가져오려면, 다음 코드를 사용하여 새 쿼리를 생성할 수 있습니다:
-- [params]
-- date :datetime
SELECT
action_logs.id AS action_log_id,
action_logs.created_at AS action_log_date,
action_logs.action AS action_type,
users.id AS user_id,
users.username AS user_username,
users.email AS user_email,
user_actions.details AS search_query
FROM
action_logs
JOIN
user_actions ON user_actions.id = action_logs.action_id
JOIN
users ON user_actions.user_id = users.id
WHERE
action_logs.action = 'searched'
AND action_logs.created_at >= :date - INTERVAL '3 months'
ORDER BY
action_logs.created_at DESC;
이 쿼리에서는 -- [params] 구문을 사용하여 datetime 타입의 date라는 이름을 가진 매개변수를 정의합니다. 이 매개변수를 사용하면 검색 로그 데이터를 가져오려는 날짜를 지정할 수 있습니다. 쿼리는 이 매개변수를 사용하여 지정된 날짜로부터 지난 3개월간의 검색 로그를 필터링합니다.
Discourse Data Explorer에서 이 쿼리를 사용하려면 다음 단계를 따르세요:
- Discourse 사이트의 관리자 대시보드로 이동합니다.
- 왼쪽 메뉴에서 "Data Explorer"를 클릭합니다.
- 새 쿼리를 생성하려면 "New Query"를 클릭합니다.
- 원하는 경우 쿼리에 이름과 설명을 부여합니다.
- 위의 SQL 코드를 “Query” 텍스트 영역에 복사하여 붙여넣습니다.
- 쿼리를 저장하려면 “Save” 버튼을 클릭합니다.
저장된 후에는 Data Explorer에서 쿼리 이름을 클릭하여 쿼리를 실행할 수 있습니다. date 매개변수 값을 입력하라는 팝업이 표시됩니다. YYYY-MM-DD 형식(예: 2023-07-28)으로 날짜를 제공하고 "Run Query"를 클릭합니다.
쿼리는 지정된 날짜로부터 지난 3개월간의 모든 검색 로그 데이터를 가져오며, 결과는 테이블 형식으로 표시됩니다.