should be it

This commit is contained in:
2025-10-24 19:21:19 -05:00
parent a4b23fc57c
commit f09560c7b1
14047 changed files with 3161551 additions and 1 deletions

View File

@@ -0,0 +1,32 @@
/* Q5. Most active Posters of a given Topic
\set tag '\'Abbas_I_of_Persia\''
*/
WITH detail AS (
SELECT cr.p_personid AS person_id
, count(DISTINCT r.m_messageid) AS replyCount
, count(DISTINCT l.l_messageid||' '||l.l_personid) AS likeCount
, count(DISTINCT m.m_messageid) AS messageCount
, null as score
FROM tag t
, message_tag pt
, message m LEFT JOIN message r ON (m.m_messageid = r.m_c_replyof)
LEFT JOIN likes l ON (m.m_messageid = l.l_messageid) -- l: likes to m
, person cr -- creator
WHERE 1=1
-- join
AND t.t_tagid = pt.mt_tagid
AND pt.mt_messageid = m.m_messageid
AND m.m_creatorid = cr.p_personid
-- filter
AND t.t_name = 'Abbas_I_of_Persia'
GROUP BY cr.p_personid
)
SELECT person_id AS "person.id"
, replyCount
, likeCount
, messageCount
, 1*messageCount + 2*replyCount + 10*likeCount AS score
FROM detail
ORDER BY score DESC, person_id
LIMIT 100
;