gracias pero ya solucione todo lo que necesitaba dejo la query por si llega a servirle a alguien, me pidieron el mes en palabras, el porcentaje de cada rango, agrupar por mes y año y bueno mostrar los ultimos 3 meses.. ojala le sirva a alguien mas... saludos
nuevamente gracias libra ;)
Código SQL:
Ver originalSELECT COUNT(DISTINCT ti.id)AS total_id,
CASE DATEPART(MONTH,ti.create_time)
WHEN 12 THEN 'diciembre'
WHEN 11 THEN 'noviembre'
WHEN 10 THEN 'octubre'
WHEN 9 THEN 'septiembre'
WHEN 8 THEN 'agosto'
WHEN 7 THEN 'julio'
WHEN 6 THEN 'junio'
WHEN 5 THEN 'mayo'
WHEN 4 THEN 'abril'
WHEN 3 THEN 'marzo'
WHEN 2 THEN 'febrero'
WHEN 1 THEN 'enero'
END AS mes,
(((SUM(CASE WHEN DateDiff(MINUTE, ti.create_time, his.nlasttime) BETWEEN 0 AND 240 THEN 1 ELSE 0 END))*100)/COUNT(DISTINCT ti.id)) AS Hasta4HH,
(((SUM(CASE WHEN DateDiff(MINUTE, ti.create_time, his.nlasttime) BETWEEN 241 AND 480 THEN 1 ELSE 0 END))*100)/COUNT(DISTINCT ti.id)) AS Hasta8HH,
(((SUM(CASE WHEN DateDiff(MINUTE, ti.create_time, his.nlasttime) BETWEEN 481 AND 1440 THEN 1 ELSE 0 END))*100)/COUNT(DISTINCT ti.id)) AS Hasta24HH,
(((SUM(CASE WHEN DateDiff(MINUTE, ti.create_time, his.nlasttime) BETWEEN 1441 AND 4320 THEN 1 ELSE 0 END))*100)/COUNT(DISTINCT ti.id)) AS Hasta72HH,
(((SUM(CASE WHEN DateDiff(MINUTE, ti.create_time, his.nlasttime) BETWEEN 4321 AND 10080 THEN 1 ELSE 0 END))*100)/COUNT(DISTINCT ti.id)) AS Hasta168HH,
(((SUM(CASE WHEN DateDiff(MINUTE, ti.create_time, his.nlasttime) > 10080 THEN 1 ELSE 0 END))*100)/COUNT(DISTINCT ti.id)) AS Mayores168HH
FROM [Otrs].[dbo].[ticket] ti
INNER JOIN Otrs.dbo.ticket_state s ON ti.ticket_state_id = s.id
LEFT JOIN otrs.dbo.vwTicketHistoryClose his ON ti.id = his.ticket_id
INNER JOIN Otrs.dbo.queue q ON ti.queue_id = q.id
WHERE datepart(MONTH,ti.create_time)>= datepart(MONTH,DATEADD(MONTH,-2,getdate())) AND
datepart(YEAR,ti.create_time)>= datepart(YEAR,DATEADD(MONTH,-2,getdate()))
AND q.name NOT LIKE '%SSGG%'
AND ti.ticket_state_id = 2
AND ti.type_id IN( 2 , 4 )
GROUP BY datepart(MONTH,ti.create_time),datepart(YEAR,ti.create_time)
ORDER BY datepart(YEAR,ti.create_time) ASC,datepart(MONTH,ti.create_time) ASC