Отчет по панели управления: Топ обсуждаемых тем

Это SQL-версия отчета панели управления по самым популярным темам по ссылкам.

В этом отчете отображаются темы, получившие наибольшее количество кликов из внешних источников.

--[params]
-- date :start_date
-- date :end_date

SELECT
    p.topic_id,
  COUNT(*) AS external_click_count
FROM incoming_links il
INNER JOIN posts p ON p.id = il.post_id
WHERE il.created_at::date BETWEEN :start_date AND :end_date
    AND p.deleted_at IS NULL
GROUP BY p.topic_id
ORDER BY external_click_count DESC

Как это работает

  • Запрос выбирает topic_id из таблицы posts и подсчитывает количество входящих ссылок, связанных с каждым сообщением.
  • Фильтрация входящих ссылок осуществляется по дате created_at, чтобы она находилась в диапазоне между :start_date и :end_date.
  • В подсчет включаются только не удаленные сообщения (p.deleted_at IS NULL).
  • Результаты группируются по topic_id для агрегации количества внешних кликов по каждой теме.
  • Список сортируется по убыванию external_click_count, чтобы темы с наибольшим количеством внешних кликов отображались вверху.

Пример результатов

topic external_click_count
topic 1 1234
topic 2 456
topic 3 78
3 лайка