Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
em Qua, 11 Jan 2017 1:58 pm
oi,
Tenho o seguinte sql:
- Código: Selecionar todos
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?
-
Robson Costa
- Localização: Campo Grande - MS
em Qua, 11 Jan 2017 3:18 pm
Boa tarde,
Tente trabalhar com data ao invés de usar o to_Char
- Código: Selecionar todos
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.
-
spernega
- Localização: São Paulo - SP
Voltar para SQL
Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes