Подсчитать количество измененных объектов для разных пользователей

Всем привет, вопрос такой, как мне подсчитать количество измененных объектов (obj_type) для каждого пользователя (user), где event_type = 2 и obj_id не дублируется для user?

Имеется таблица такого вида:

event_type user obj_type obj_id
2 Василий Васильев 2 2000
2 Василий Васильев 2 2000
2 Василий Васильев 2 2000
2 Василий Васильев 2 2001
2 Василий Васильев 4 4000
2 Владимир Владимиров 1 1000
2 Владимир Владимиров 4 4000
2 Петр Петров 3 3000
2 Петр Петров 3 3000

Вот какой результат необходим:

user Count obj_type 1 Count obj_type 2 Count obj_type 3 Count obj_type 4
Василий Васильев 0 2 0 1
Владимир Владимиров 1 0 0 1
Петр Петров 0 0 1 0

Имеется такой запрос, но он работает только если нет повторных obj_id, в противном случае он просто посчитает все obj_type для этого user

SELECT
       user,
       sl_name,
       `len`,
       count(case when obj_type=1 then 1 end) as "countCouple",
       count(case when obj_type=2 then 1 end) as "countBoxPon",
       count(case when obj_type=3 then 1 end) as "countOpticCross",
       count(case when obj_type=4 then 1 end) as "countNode"
       FROM logObj
       WHERE event_type = 1
       GROUP BY user, sl_name

Количество типов объектов(obj_type) - фиксированное


Ответы (0 шт):