每个标签的主题数量

我希望能够获取所有标签的列表,以及每个标签在特定时间段(例如上个月)内创建的新主题/帖子数量。
有人能帮忙提供查询方法吗?

我想你可以逐行查阅文件,但依我看,使用插件管理页面上的菜单会更高效。你应该能看到许多表格,选中它们后便会显示字段名称和架构信息。

我现在不在电脑前,但该模型包含以下内容:

# == 架构信息
#
# 表名:topic_tags
#
#  id         :integer          不为空,主键
#  topic_id   :integer          不为空
#  tag_id     :integer          不为空
#  created_at :datetime         不为空
#  updated_at :datetime         不为空
#
# 索引
#
#  index_topic_tags_on_topic_id_and_tag_id  (topic_id,tag_id) 唯一

注意其中的“topic_id”和“tag_id”,这表明命名规则为“表名_下划线_字段名”。

tags 表包含:

# == 架构信息
#
# 表名:tags
#
#  id             :integer          不为空,主键
#  name           :string           不为空
#  topic_count    :integer          默认值(0),不为空
#  created_at     :datetime         不为空
#  updated_at     :datetime         不为空
#  pm_topic_count :integer          默认值(0),不为空
#  target_tag_id  :integer
#
# 索引
#
#  index_tags_on_lower_name  (lower((name)::text)) 唯一
#  index_tags_on_name        (name) 唯一

至于 topic 表的字段,就留给你自行查看了。

不过,这可能有点操之过急了。你之前是否尝试过对这些表中的某一个运行一个非常简单的查询,作为“数据探索器你好”的测试?具体是什么查询呢?

太棒了,非常感谢这些提示。
我成功构建了它。可能还不够完美,但如果对其他人有用:

每个标签的新主题数量

-- [params]
-- int :months_ago = 0

WITH query_period as (
    SELECT
        date_trunc('month', CURRENT_DATE) - INTERVAL ':months_ago months' as period_start,
        date_trunc('month', CURRENT_DATE) - INTERVAL ':months_ago months' + INTERVAL '1 month' - INTERVAL '1 second' as period_end
)
SELECT
    tags.name,
    count(1) as topic_count
FROM topics t
RIGHT JOIN topic_tags tt
    ON t.id = tt.topic_id
RIGHT JOIN tags tags
    ON tt.tag_id = tags.id
RIGHT JOIN query_period qp
    ON t.created_at >= qp.period_start
        AND t.created_at <= qp.period_end
WHERE t.user_id > 0
    AND tt.topic_id IS NOT NULL
GROUP BY tags.name
ORDER BY topic_count DESC