Estou tentando criar um relatório onde tem que aparecer uma linha com a média das colunas logo abaixo do resultado:
mês INCIDENCIAS PAC_DIA TAXA
08/2013 26 1850 1,41
09/2013 13 1702 0,76
10/2013 15 1658 0,9
/*Media 18 1736 1,02 */
É possível trazer a média de cada coluna logo após o resultado do SELECT? (Não sei se deu para entender, mas já tentei usar AVG e acaba alterando o resultado por causa do group by)
Abaixo segue a query (que ta bem bagunçada eu sei)
SELECT inc.mês mês
,inc.registro INCIDENCIAS
,pdia.PAC_DIA PAC_DIA
,Round(((inc.registro/nullif(pdia.PAC_DIA,0))*100),2) TAXA
--,#dataInicial#
--,#dataFinal#
FROM
(
SELECT mês
,count(registro) registro
FROM
(
select TO_CHAR(to_date(dt_registro, 'DD/MM/RRRR'),'MM/RRRR') mês
,count(rd.cd_registro_documento) registro
from dbamv.registro_documento rd,
dbamv.atendime a,
dbamv.paciente p,
dbamv.convenio c
where rd.cd_atendimento = a.cd_atendimento
AND a.cd_paciente = p.cd_paciente
AND a.cd_convenio = c.cd_convenio
AND rd.cd_documento = 40
and rd.sn_impresso = 'S'
AND to_date(dt_registro, 'DD/MM/RRRR') BETWEEN '01/04/2013' AND '31/10/2013' -- #dataInicial# AND #dataFinal# --
GROUP BY dt_registro
order by rd.dt_registro
)
GROUP BY mês
order by to_date(mês, 'MM/RRRR')
) INC
-------------------------------------------------
,(
SELECT mês
,count(pac_dia) pac_dia
FROM
(
SELECT count(atend) pac_dia
,TO_CHAR(to_date(dt_registro, 'DD/MM/RRRR'),'MM/RRRR') mês
FROM dbamv.atendime a,
dbamv.paciente p,
dbamv.convenio c,
(select DISTINCT rd.cd_registro_documento
,rd.cd_atendimento atend
,rd.DT_REGISTRO dt_registro
from dbamv.registro_resposta rr
,dbamv.registro_documento rd
where cd_pergunta_doc in (1233, 1236, 1238, 3065, 3067, 3069, 8476, 8477, 8478)
and rd.cd_registro_documento = rr.cd_registro_documento
and rr.ds_resposta is not NULL
AND rd.dt_registro BETWEEN '01/04/2013' AND '31/10/2013' -- #dataInicial# AND #dataFinal# --
ORDER BY rd.cd_atendimento)
WHERE atend = a.cd_atendimento
AND a.cd_paciente = p.cd_paciente
AND a.cd_convenio = c.cd_convenio
GROUP BY dt_registro
--ORDER BY atend,dt_registro
)
GROUP BY mês
order by to_date(mês, 'MM/RRRR')
)PDIA
WHERE pdia.mês = inc.mês