Это 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 |
| … | … |