筛选工作人员未回复的主题

我是 discourse 论坛(forum.testproject.io)的管理员,希望筛选出尚未由工作人员回复的帖子。

https://forum.testproject.io/latest?max_posts=1 这个 URL 仅能筛选出回复数为 0 的帖子,但我需要能够筛选出任何尚未收到工作人员回复的帖子(即使该帖子已有社区成员的回复,即回复数 > 0,但这些回复并非来自我们)。

以下是来自你们论坛的一个示例——这是一个帖子,有人提出了问题,社区成员做出了回应。但你们(Discourse 工作人员)如何知道这个帖子实际上尚未得到你们的回复呢?

谢谢 :slight_smile:
Karen

您需要为此创建一个数据探索器(Data Explorer)查询。要编写该查询,您需要具备 SQL 技能或知道如何编写 SQL 查询。

如果您不熟悉数据探索器,请参阅:

如果您仍然对如何编写数据探索器查询有疑问,可以创建一个新的 Support 主题,并为其添加 data-explorer 标签。

你好 @osioke
感谢您的快速回复!
我个人不具备 SQL 技能,请问您的团队中是否有人可以提供帮助?(毕竟我们是付费客户 :slight_smile:

谢谢,
Karen

你好,Karen,

我们的基础套餐通常支持自助服务,但我们可以为您提供帮助。我的同事稍后会回复您。

如果您需要更多咨询,我们有一个很棒的 Marketplace 频道可以为您提供帮助。

你好,Karen,

以下查询列出了所有尚未由工作人员回复的主题,即使该主题已收到社区成员的回复。

--[params]
--date :start_date = 2021-01-01
--date :end_date = 2021-12-31

SELECT t.id topic_id, category_id
FROM topics t
WHERE t.deleted_at IS NULL
  AND t.category_id IS NOT NULL
  AND t.created_at::date BETWEEN :start_date AND :end_date
  AND t.id NOT IN (
    SELECT p.topic_id
    FROM posts p 
    JOIN users u ON p.user_id = u.id
    WHERE  u.admin = 't' OR u.moderator = 't'
      AND p.post_number > 1
  )
ORDER BY topic_id DESC