Как в PostgreSQL одновременно использовать две агрегатные функции?
Подскажите пожалуйста по вопросу :
Как получить результат в сочетании двух агрегатных функций "AVG" И "MIN" ?
(по отдельности работают, а как их слепить вместе хз )
Сейчас мой SQL запрос выглядит так :
(он находит время, за которое был оставлен первый комментарий в задаче с "MIN", но без "AVG")
select jiraissue.pkey , min(age(jiraaction.created, jiraissue.created))as first_time_response -- Время первого ответа
from jiraaction
inner join jiraissue on jiraaction.issueid = jiraissue.id
where jiraissue.pkey like '%JIRA-%'
and author = 'JIRAUSER'
and (jiraissue.created between (date_trunc('month', now())::date ) and now()::date) --Тикеты созданные за текущий месяц и прокомментированные автором
group by jiraissue.pkey
order by first_time_response asc
Любая помощь важна! Спасибо.
Ответы (1 шт):
Автор решения: alex783
→ Ссылка
Получилось! Статья по CTE (или Обобщённое табличное выражение)
https://sql-academy.org/ru/guide/operator-with
Мои итоговый SQL запрос выглядит так :
with My_request as
(select jiraissue.pkey ,jiraaction.author, min(age(jiraaction.created, jiraissue.created))as first_time_response -- Время первого ответа
from jiraaction
inner join jiraissue on jiraaction.issueid = jiraissue.id
where jiraissue.pkey like '%TPAGENT-%'
and author = 'd.semushkin'
and (jiraissue.created between (date_trunc('month', now())::date ) and now()::date) --Тикеты созданные за текущий месяц и прокомментированные автором
group by jiraissue.pkey,jiraaction.author
order by first_time_response asc)
select avg(sum_first_t_r)*60 as avg_time_response -- Среднее время ответа в минутах
from (select pkey, (sum(first_time_response)) as sum_first_t_r
from My_request
group by pkey) as table_avg