Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Группировка по времени  [new]
Marin_1a
Member

Откуда:
Сообщений: 125
Есть отчет,где хранятся инциденты с приоритетами от 1 до 5 и временем их решения.
Мне необходимо разгруппировать их по приоритетам и временным рамкам.

Смогла только найти время решения, теперь необходимо разгруппировать время решения по затраченному времени,как на картинке.

SELECT PRIORITY_CODE, START_TIME, END_TIME, DATEDIFF(HOUR, START_TIME, END_TIME) AS WORK, Count(*) as CNT
FROM [dbo].[INCIDENTS]
WHERE START_TIME IS NOT NULL AND END_TIME IS NOT NULL
GROUP BY PRIORITY_CODE, START_TIME, END_TIME

К сообщению приложен файл. Размер - 9Kb
25 апр 17, 13:06    [20432436]     Ответить | Цитировать Сообщить модератору
 Re: Группировка по времени  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 5982
Marin_1a,

datediff(hour, .... + case + avg
25 апр 17, 14:28    [20432860]     Ответить | Цитировать Сообщить модератору
 Re: Группировка по времени  [new]
Rankatan
Member

Откуда:
Сообщений: 250
select PRIORITY_CODE,[1],[2],[3] from
(
	SELECT PRIORITY_CODE, 
		case 
			when DATEDIFF(MINUTE, START_TIME, END_TIME) between 0 and 59 then 1
			when DATEDIFF(MINUTE, START_TIME, END_TIME) between 60 and 119 then 2
			else 3 
		end AS GrWORK
	FROM [dbo].[INCIDENTS]
	WHERE START_TIME IS NOT NULL AND END_TIME IS NOT NULL
) T
PIVOT(COUNT(PRIORITY_CODE) FOR GrWORK in ([1],[2],[3])) pvt
25 апр 17, 14:32    [20432875]     Ответить | Цитировать Сообщить модератору
 Re: Группировка по времени  [new]
Rankatan
Member

Откуда:
Сообщений: 250
select PRIORITY_CODE, 
		COUNT(case when DATEDIFF(MINUTE, START_TIME, END_TIME) between 0 and 59 then 1 else null end) as [1],
		COUNT(case when DATEDIFF(MINUTE, START_TIME, END_TIME) between 60 and 119 then 1 else null end) as [2]
FROM [dbo].[INCIDENTS]
WHERE START_TIME IS NOT NULL AND END_TIME IS NOT NULL
group by PRIORITY_CODE


второй вариант
25 апр 17, 14:37    [20432891]     Ответить | Цитировать Сообщить модератору
 Re: Группировка по времени  [new]
Marin_1a
Member

Откуда:
Сообщений: 125
Rankatan,

Благодарю!
Этот вариант подошел
26 апр 17, 09:31    [20434620]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить