powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вопрос с группировкой
3 сообщений из 3, страница 1 из 1
Вопрос с группировкой
    #40073402
Александр Кузьминов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Подскажите такой вопрос, есть селект который показывает сколько обращений выполнил сотрудник отдела и в соседнем столбце показывает сколько он выполнил просроченных обращений, не получается настроить группировку столбца с просроченными обращениями (показывает всем сотрудникам одинаковое значение просроченных обращений на весь отдел и не группирует их), подскажите где ошибка?


with recursive serv (title, id) AS (
select
e.title,
ts.id as num,
case when (ts.overduestate_s='e' OR (ts.overduestate_s='a' AND (CURRENT_TIMESTAMP > to_timestamp(ts.overduestate_d/1000)))) then 'Просрочен' else 'Не просрочен' end as cnt
from tbl_servicecall ts
left join tbl_employee e on e.id=ts.solvedbyemployee_id
left join tbl_ou ou on ou.id=e.parent_id
left join tbl_employee e1 on e1.id=ts.resp2line_em
where (ts.datedecision > date_trunc('week', current_date) and ts.state in ('closed', 'resolved'))
and (ou.title like 'Отдел' or ou.title like 'Группа')
Group BY e.title, ts.id
union all
select
e.title,
serv.id+1,
case when (ts.overduestate_s='e' OR (ts.overduestate_s='a' AND (CURRENT_TIMESTAMP > to_timestamp(ts.overduestate_d/1000)))) then 'Просрочен' else 'Не просрочен' end as "Просрочен?"
from tbl_servicecall ts
join serv on ts.number_ = serv.id
left join tbl_employee e on e.id=ts.solvedbyemployee_id
left join tbl_ou ou on ou.id=e.parent_id
left join tbl_employee e1 on e1.id=ts.resp2line_em
where (ts.datedecision > date_trunc('week', current_date) and ts.state in ('closed', 'resolved'))
and (ou.title like 'Отдел' or ou.title like 'Группа')
)
select
distinct serv.title as "ФИО",
count (distinct serv.id) as "Выполненно по SLA",
(select count(id) from serv where serv.cnt='Просрочен') as "C нарушением SLA"
from serv
group by serv.title, "C нарушением SLA"
...
Рейтинг: 0 / 0
Вопрос с группировкой
    #40073416
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Кузьминов,

Скорее всего вам надо что то вида

Код: sql
1.
2.
3.
4.
5.
6.
select
serv.title as "ФИО",
count (distinct serv.id) as "Выполненно по SLA",
count (distinct serv.id) FILTER (WHERE serv.cnt='Просрочен') as "C нарушением SLA"
from serv
group by serv.title




--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Вопрос с группировкой
    #40073424
Александр Кузьминов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk, Спасибо большое! Помогло
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вопрос с группировкой
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]