Número de temas por etiqueta

Me gustaría poder obtener una lista de todas las etiquetas y cuántos nuevos temas/publicaciones se han creado para cada una en un período determinado (por ejemplo, el mes pasado). ¿Alguien puede ayudar con la consulta?

Podrías hojear los archivos, supongo, pero en mi opinión es más eficiente usar el menú en la página de administración de complementos. Deberías poder ver muchas tablas que, al seleccionarse, muestran los nombres de los campos y la información del esquema.

No estoy en mi escritorio, pero el modelo tiene:

# == Schema Information
#
# Table name: topic_tags
#
#  id         :integer          not null, primary key
#  topic_id   :integer          not null
#  tag_id     :integer          not null
#  created_at :datetime         not null
#  updated_at :datetime         not null
#
# Indexes
#
#  index_topic_tags_on_topic_id_and_tag_id  (topic_id,tag_id) UNIQUE 

Observa “topic_id” y “tag_id”; sugiere que los nombres siguen el patrón “nombre de tabla, guion bajo, nombre de campo”.

La tabla de etiquetas tiene:

# == Schema Information
#
# Table name: tags
#
#  id             :integer          not null, primary key
#  name           :string           not null
#  topic_count    :integer          default(0), not null
#  created_at     :datetime         not null
#  updated_at     :datetime         not null
#  pm_topic_count :integer          default(0), not null
#  target_tag_id  :integer
#
# Indexes
#
#  index_tags_on_lower_name  (lower((name)::text)) UNIQUE
#  index_tags_on_name        (name) UNIQUE

Y te dejo a ti examinar los campos de las tablas de temas.

Pero probablemente estemos adelantando los hechos. ¿Has podido ejecutar una consulta muy sencilla contra una de esas tablas como una especie de “Hola, Explorador de Datos”? ¿Cuál es?

¡Genial, muchas gracias por los consejos.
Logré compilarlo. Puede que no sea perfecto, pero si a alguien más le resulta útil:

Nuevos temas por etiqueta

-- [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