Página 1 de 1

Agrupar no formato MM/YYYY mas ordenar no formato YYYY/MM

Enviado: Qua, 11 Jan 2017 1:58 pm
por Robson Costa
oi,

Tenho o seguinte sql:

Selecionar tudo

select to_CHAR(dt_atendimento,'MM/YYYY'),
       count(*) 
from tabela 
where dt_atendimento between '01/10/2016' and '11/01/2017' 
group by to_CHAR(dt_atendimento,'MM/YYYY') 
Quero ordenar o resultado da sáida deste sql pelo ano e depois pelo mês. Porém o Oracle não aceita dá a mensagem ORA-00979: não é uma expressão GROUP BY. Como podemos fazer para exibir como MM/YYYY mas ordernar como YYYY/MM?

Re: Agrupar no formato MM/YYYY mas ordenar no formato YYYY/M

Enviado: Qua, 11 Jan 2017 3:18 pm
por spernega
Boa tarde,

Tente trabalhar com data ao invés de usar o to_Char

Selecionar tudo

select to_char(dt_atendimento,'mm/yyyy'), qtd from (
select trunc(dt_atendimento,'month') dt_atendimento, count(*) qtd
from   tabela
where  dt_atendimento between '01-10-16' and '11-01-17' 
group  by trunc(dt_atendimento,'month')
order  by trunc(dt_atendimento,'month')) 
Veja se assim fica como você quer.