Привет @RachFeverBee,
Использование запроса в Data Explorer — лучший способ найти нужную информацию.
Основываясь на предоставленных вами темах и описании ваших потребностей в отчётности, вот запрос Data Explorer, который можно использовать как отправную точку:
Категории, темы и ответы
-- [params]
-- date :start_date = 2023-01-01
-- date :end_date = 2025-01-28
WITH filtered_topics AS (
SELECT
t.id AS topic_id,
t.title AS topic_title,
t.created_at AS topic_created_at,
t.user_id AS topic_user_id,
t.category_id AS topic_category_id
FROM
topics t
WHERE
t.created_at BETWEEN :start_date AND :end_date
),
filtered_posts AS (
SELECT
p.id AS post_id,
p.topic_id,
p.user_id AS post_user_id,
p.created_at AS post_created_at,
p.raw AS post_content,
p.post_number
FROM
posts p
WHERE
p.created_at BETWEEN :start_date AND :end_date
),
categories_with_topics AS (
SELECT
c.id AS category_id,
c.name AS category_name,
ft.topic_id,
ft.topic_title,
ft.topic_created_at,
ft.topic_user_id
FROM
categories c
JOIN
filtered_topics ft ON c.id = ft.topic_category_id
),
final_data AS (
SELECT
cwt.category_name,
cwt.topic_id,
cwt.topic_title,
cwt.topic_created_at,
cwt.topic_user_id,
fp.post_id,
fp.post_content,
fp.post_created_at,
fp.post_user_id,
fp.post_number
FROM
categories_with_topics cwt
LEFT JOIN
filtered_posts fp ON cwt.topic_id = fp.topic_id
)
SELECT
fd.category_name AS "Категория",
fd.topic_id AS "ID темы",
fd.topic_title AS "Заголовок темы",
fd.topic_created_at AS "Дата создания темы",
fd.topic_user_id AS "Автор темы",
fd.post_id AS "ID сообщения",
fd.post_content AS "Содержимое сообщения",
fd.post_created_at AS "Дата создания сообщения",
fd.post_user_id AS "Автор сообщения",
fd.post_number AS "Номер сообщения"
FROM
final_data fd
ORDER BY
fd.topic_created_at ASC,
fd.post_created_at ASC
Этот отчёт будет генерировать следующие результаты:
- Название категории: Название категории.
- ID темы: Ссылочный идентификатор темы.
- Заголовок темы: Заголовок темы.
- Дата создания темы: Дата создания темы.
- Автор темы: Пользователь, создавший тему.
- ID сообщения: Ссылочный идентификатор сообщения.
- Содержимое сообщения: Полный текст сообщения.
- Дата создания сообщения: Дата создания сообщения.
- Автор сообщения: Пользователь, создавший сообщение.
- Номер сообщения: Номер сообщения в теме.
Пример результатов
| Категория |
ID темы |
Заголовок темы |
Дата создания темы |
Автор темы |
ID сообщения |
Содержимое сообщения |
Дата создания сообщения |
Автор сообщения |
Номер сообщения |
| Общие обсуждения |
101 |
Добро пожаловать на форум! |
2023-01-02 10:00:00 UTC |
1 |
201 |
Всем привет, добро пожаловать! |
2023-01-02 10:05:00 UTC |
2 |
1 |
| Общие обсуждения |
101 |
Добро пожаловать на форум! |
2023-01-02 10:00:00 UTC |
1 |
202 |
Спасибо за тёплый приём! |
2023-01-02 10:10:00 UTC |
3 |
2 |
| Техподдержка |
102 |
Как сбросить устройство? |
2023-02-15 14:30:00 UTC |
4 |
203 |
Кто-нибудь может помочь мне сбросить это? |
2023-02-15 14:35:00 UTC |
4 |
1 |
| Техподдержка |
102 |
Как сбросить устройство? |
2023-02-15 14:30:00 UTC |
4 |
204 |
Конечно, вот шаги… |
2023-02-15 14:40:00 UTC |
5 |
2 |
| Объявления |
103 |
Вышли новые функции! |
2023-03-01 09:00:00 UTC |
6 |
205 |
Ознакомьтесь с нашими новыми функциями! |
2023-03-01 09:05:00 UTC |
6 |
1 |
Вы можете изменить порядок сортировки результатов в запросе с помощью оператора ORDER BY в конце, в зависимости от того, как вы хотите их просматривать. Также имейте в виду, что если на вашем сайте большое количество тем и сообщений, вам следует учитывать ограничения результатов плагина Data Explorer.