# 获取特定类别下近期标记的数量

**URL:** <https://meta.discourse.org/t/get-count-of-recent-flags-in-a-particular-category/260411>\
**Category:** Data & reporting\
**Tags:** sql-query\
**Created:** [2023年四月3日 17:01 UTC](https://meta.discourse.org/t/get-count-of-recent-flags-in-a-particular-category/260411 "2023-04-03T17:01:27Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![southpaw](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/southpaw/32/79352_2.png) [@southpaw](https://meta.discourse.org/u/southpaw)\
**Post date:** [2023年四月3日 19:58 UTC](https://meta.discourse.org/t/get-count-of-recent-flags-in-a-particular-category/260411/2 "2023-04-03T19:58:55Z")

</div>

您好 @tpsReports，

我没有一个非常强大的 Discourse 实例可以进行彻底的测试，但我认为这个 [Data Explorer](https://meta.discourse.org/t/32566?silent=true) 查询可能会为您指明正确的方向。（也许其他人可以帮忙完善一下！）

```plaintext
SELECT count(*)
FROM post_actions AS pac
JOIN posts p on p.id = pac.post_id
JOIN topics t on t.id = p.topic_id
WHERE pac.post_action_type_id in ('3','4','7','8')
AND pac.created_at >= NOW() - INTERVAL '20 MINUTE'
AND t.category_id = '4'

```

在此示例中，我将标记创建以来的时间指定为 20 分钟（第 6 行），这与您在示例中给出的时间相同。  
在第 7 行，我使用了类别 ID 4，但您需要使用您想要跟踪的类别的特定类别 ID。

如果您想通过名称引用类别，可以向查询添加另一个连接，如下所示：

```plaintext
SELECT count(*)
FROM post_actions AS pac
JOIN posts p on p.id = pac.post_id
JOIN topics t on t.id = p.topic_id
JOIN categories c on c.id = t.category_id
WHERE pac.post_action_type_id in ('3','4','7','8')
AND pac.created_at >= NOW() - INTERVAL '20 MINUTE'
AND c.name = 'General'

```

然后，将第 8 行中我使用的 `General` 替换为您类别的名称。请记住，类别名称区分大小写。

如果这对您有帮助，请告诉我！

---

_[View the full topic](https://meta.discourse.org/t/get-count-of-recent-flags-in-a-particular-category/260411)._
