我对查看论坛上特定词语使用趋势感到好奇,有什么查询可以让我看到每周某个子字符串被提及了多少次吗?
在 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.