基于特定类别已解决主题数量的自定义徽章 SQL 查询

继续讨论来自 您想出了哪些有趣的徽章查询?

我试图解决以下问题。我希望下面的 SQL 查询能在单个类别 ID 中运行:

SELECT id user_id, current_timestamp granted_at
FROM users
WHERE id  IN (
       SELECT p1.user_id
       FROM post_custom_fields pc
       JOIN badge_posts p1 ON p1.id = pc.post_id
       JOIN topics t1 ON p1.topic_id = t1.id
       WHERE p1.user_id <> t1.user_id AND
                    name = 'is_accepted_answer' AND
            p1.user_id IN (
                   SELECT user_id
                   FROM posts
                   WHERE :backfill OR  p1.id IN (:post_ids)
            )
        GROUP BY p1.user_id
        HAVING COUNT(*) > 9
)

现在它检查的是全局论坛,但我想将其与如下查询合并:

SELECT DISTINCT ON (t.user_id) t.user_id, t.created_at granted_at
FROM topics t
WHERE t.category_id = 28

有什么建议吗?抱歉,我已经很久没碰 SQL 了。

2 个赞