Files
email-tracker/external/duckdb/benchmark/ldbc/queries/bi-2.sql
2025-10-24 19:21:19 -05:00

28 lines
792 B
SQL

/* Q2. Tag evolution
\set year 2010
\set month 11
*/
WITH detail AS (
SELECT t.t_name
, count(DISTINCT CASE WHEN extract(MONTH FROM m.m_creationdate) = 11 THEN m.m_messageid ELSE NULL END) AS countMonth1
, count(DISTINCT CASE WHEN extract(MONTH FROM m.m_creationdate) != 11 THEN m.m_messageid ELSE NULL END) AS countMonth2
FROM message m
, message_tag mt
, tag t
WHERE 1=1
-- join
AND m.m_messageid = mt.mt_messageid
AND mt.mt_tagid = t.t_tagid
-- filter
AND m.m_creationdate >= '2010-11-1'::date
AND m.m_creationdate < '2010-11-1'::date + interval '2' month
GROUP BY t.t_name
)
SELECT t_name as "tag.name"
, countMonth1
, countMonth2
, abs(countMonth1-countMonth2) AS diff
FROM detail d
ORDER BY diff desc, t_name
LIMIT 100
;