単語が言われた回数を数える

フォーラムでの特定の単語の使用傾向をチェックすることに興味がありますが、サブ文字列が週に何回言及されたかを確認できるクエリはありますか?

ChatGPTの助けを借りて、動作するものが見つかりました

WITH date_series AS (
  SELECT generate_series(
           DATE_TRUNC('week', MIN(created_at)),  -- 最初の週の開始
           DATE_TRUNC('week', MAX(created_at)),  -- 最後の週の開始
           '1 week'::interval                    -- 週ごとの間隔
         ) AS week_start
  FROM posts
),
posts_with_substring AS (
  SELECT
    DATE_TRUNC('week', created_at) AS week_start,
    COUNT(*) AS total_posts,
    SUM((LENGTH(raw) - LENGTH(REPLACE(lower(raw), lower('your_substring'), ''))) / LENGTH('your_substring')) AS substring_count
  FROM
    posts
  WHERE
    raw ILIKE '%test%'
  GROUP BY
    DATE_TRUNC('week', created_at)
)
SELECT
  ds.week_start,
  COALESCE(pws.total_posts, 0) AS total_posts
FROM
  date_series ds
LEFT JOIN
  posts_with_substring pws ON ds.week_start = pws.week_start
ORDER BY
  ds.week_start

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.