Поиск количества решённых тем по пользователю

Всем привет,

Я хочу создать запрос в обозревателе данных, но, будучи полным новичком в этом, не знаю, с чего начать!

Мне нужно выполнить следующий запрос:
Возвращать количество тем с сообщением, отмеченным как решение, пользователями, не входящими в указанную группу, за заданный период (начальная и конечная даты).

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

С уважением,

Lju

Привет и добро пожаловать @lju :slight_smile:

В этой теме есть несколько примеров, которые помогут вам начать работу — How to get number of solutions per users using Data Explorer?

Привет, @JammyDodger

Спасибо за это — было полезно, и я, кажется, разобрался с различными полями :slight_smile:

Как бывший архитектор данных, я мечтаю иметь какую-то модель данных, на которую можно было бы ссылаться, намекаю, намекаю

С уважением,

Lju

Думаю, этого можно добиться с помощью двух таблиц, если использовать group_users. Возможно, что-то вроде:

-- [params]
-- string :group_name = staff
-- date :date_from = 01/04/2022
-- date :date_to = 01/05/2022


SELECT
gu.group_id,
ua.user_id,
COUNT(1) AS solved_count
FROM user_actions ua
JOIN group_users gu on ua.user_id = gu.user_id
WHERE ua.action_type = 15
AND gu.group_id = (SELECT id FROM groups WHERE name = :group_name)
AND ua.created_at::date BETWEEN :date_from::date AND :date_to::date
GROUP BY gu.group_id, ua.user_id
ORDER BY solved_count DESC

(На заметку: параметр group_name чувствителен к регистру)


Обновление: Поздно заметил, что добавил третью таблицу, когда сделал поиск по группе более удобным для пользователя, чем использование прямого group_id. Но это можно было бы сделать и с двумя. :slightly_smiling_face: