0
Good morning, I’m trying to sum up a Count in a query that returns three columns in the oracle the total diet column being the event count for that group!
| NM_DIETA | TOTAL_DIETA | DS_SETOR | 
|---|---|---|
| Extra: fruit | 4 | ANNEX A | 
| Free or General Diet | 2 | ANNEX A | 
SELECT
  
    D.NM_DIETA,
    count(*) total_dieta,
    /*sum(count(*)) total  adicionar o total da contagem*/,
    obter_ds_setor_atendimento(s.cd_setor_atendimento) DS_SETOR
FROM 
    ATENDIMENTO_PACIENTE_V V
INNER JOIN CPOE_DIETA C ON (V.NR_ATENDIMENTO = C.NR_ATENDIMENTO)
INNER JOIN DIETA D ON (C.CD_DIETA = D.CD_DIETA)
INNER JOIN SETOR_ATENDIMENTO S ON (V.CD_SETOR_ATENDIMENTO = S.CD_SETOR_ATENDIMENTO)
WHERE S.CD_SETOR_ATENDIMENTO LIKE UPPER(:CD_SETOR_ATENDIMENTO)
AND V.DT_ALTA IS NULL
and c.dt_suspensao is null
and (c.dt_fim>sysdate or c.dt_fim is null)
GROUP BY 
    D.NM_DIETA,
    obter_ds_setor_atendimento(s.cd_setor_atendimento)
        
ORDER BY total_dieta desc
I receive the following information: ORA-00937: not a simple group function
How can I add the total count column?
| NM_DIETA | TOTAL_DIETA | DS_SETOR | TOTAL | 
|---|---|---|---|
| Extra: fruit | 4 | ANNEX A | 6 | 
| Free or General Diet | 2 | ANNEX A | 6 | 
Use OVER https://oracle-base.com/articles/misc/count-analytic-function
– Motta
Count(*) over() returns me the total of rows 2 and not the total 6
– Evandro
... PARTITION BY ...
– Motta
@Motta SUM(COUNT(*)) OVER() AS total_count resolved the issue! thanks
– Evandro
Publish the solution, can help others.
– Motta