検索ログ - 指定した期間の完全なリストを取得する方法

SQLはわかりませんが、ChatGPTに過去3ヶ月間の検索ログを照会する方法を尋ねたところ、次のような回答がありました。これは機能しますか(管理アクセスがないため試すことはできませんが、管理者に渡せる確実なクエリを用意しておきたいです)。


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で使用するには、次の手順に従います。

  1. Discourseサイトの管理ダッシュボードに移動します。
  2. 左側のメニューで「Data Explorer」をクリックします。
  3. 「New Query」をクリックして新しいクエリを作成します。
  4. 必要に応じてクエリに名前と説明を付けます。
  5. 上記のSQLコードを「Query」テキストエリアにコピーして貼り付けます。
  6. 「Save」ボタンをクリックしてクエリを保存します。

保存したら、Data Explorerでクエリ名をクリックして実行できます。dateのパラメータ値を入力するように求めるポップアップが表示されます。YYYY-MM-DD(例:2023-07-28)の形式で日付を入力し、「Run Query」をクリックします。

クエリは、指定された日付から過去3ヶ月間のすべての検索ログデータを取得し、結果はテーブル形式で表示されます。