Представление предназначено для отображения основного пользователя всех компьютеров, зарегистрированных в Системе, вычисленного на основе данных инвентаризации пользователей по принципу наибольшего количества логинов.
SELECT DISTINCT ON(c.id)
c.hostname, -- имя компьютера
o.caption, -- имя ОС
o.arch, -- архитектура ОС
u.name, -- имя УЗ (логин)
u.fullname, -- полное имя УЗ (ФИО)
u.latime, -- дата/время последнего логина
u.acount, -- кол-во логинов
u.sid, -- SID УЗ
u.uid -- UID УЗ
FROM computer_user u
JOIN computer c ON u.computer_id = c.id
JOIN computer_os o ON u.computer_id = o.computer_id
-- дополнительные JOIN при необходимости
WHERE
u.fatime IS NOT NULL
AND u.latime IS NOT NULL
-- исключить учётные записи из статистики
AND NOT (
-- для undescore нужно использовать escape последовательность
u.name LIKE 'adm\_%'
-- далее можно дополнить условиями
--OR u.name LIKE 'sa\_%'
)
ORDER BY
c.id, -- группировка по ID компьютера (обязательно первая)
u.acount DESC, -- основной пользователь - с большим кол-вом логинов
u.latime DESC -- если несколько УЗ с одинаковым кол-вом логинов - с самым поздним логином
| Колонка в SQL | Тип | Имя |
|---|---|---|
| hostname | String | Компьютер |
| caption | String | ОС |
| arch | String | Арх. |
| name | String | Логин |
| fullname | String | Имя |
| latime | DateTime | Посл. вход |
| acount | Int | Кол-во входов |
| sid | String | SID |
| uid | Long | UID |


