Não poderia ser somente "order by a.dt_mov"?

Em 29 de agosto de 2012 17:20, Ramiro Pamponet <roli...@oi.com.br> escreveu:

> Em 29 de agosto de 2012 17:06, Edson Lidorio <edson...@gmail.com>escreveu:
>
> Só ordena, no ano atual
>> veja como aparece:
>>
>> 3/2012
>> 4/2010
>> 4/2012
>> 5/2012
>> 6/2011
>> 6/2012
>> 7/2012
>> 8/2012
>>
>
> Tenta assim
>
> order by EXTRACT(YEAR from a.dt_mov), EXTRACT(MONTH from a.dt_mov)
>
>
>>
>>
>> 2012/8/22 Osvaldo Kussama <osvaldo.kuss...@gmail.com>
>>
>>> Em 22/08/12, Tiago Adami<adam...@gmail.com> escreveu:
>>> > Em 22 de agosto de 2012 00:05, Matheus de Oliveira
>>> > <matioli.math...@gmail.com> escreveu:
>>> >>
>>> >> Em 21/08/2012 21:27, "Edson - Listas" <edson...@gmail.com> escreveu:
>>> >>
>>> >>
>>> >>>
>>> >>> Olá Pessoal,
>>> >>>
>>> >>> Como extrair o mês e ano em um campo data no PostgreSql?
>>> >>> Exemplo: (08/2012)
>>> >>>
>>> >>> Extrair só a data eu consegui...
>>> >>>
>>> >>> select EXTRACT(MONTH from a.dt_mov) mes,sum(a.vlr_final)total
>>> >>> from movdirhe a
>>> >>> where a.dt_mov between '01/01/2010' and '21/08/2012'
>>> >>>
>>> >>> group by EXTRACT(MONTH from a.dt_mov)
>>> >>>
>>> >>> order by mes asc
>>> >>>
>>> >>> Edson
>>> >>>
>>> >>
>>> >> Dê uma olhada na função to_char.
>>> >
>>> > Resumindo pelo exemplo:
>>> >
>>> > SELECT LTRIM(TO_CHAR( EXTRACT(MONTH FROM a.dt_mov), '00' )) || '/' ||
>>> > LTRIM(TO_CHAR( EXTRACT(YEAR FROM a.dt_mov), '0000' )) AS MES_ANO
>>> >
>>> > NOTAS:
>>> > * Não sei se era a sua dúvida, mas valores texto não são 'somados' e
>>> > sim 'concatenados' com o operador 'pipe-pipe' = ||
>>> > * Se você não está limitando sua consulta a um intervalo dentro de
>>> > apenas 1 ano, ordenar somente por mês não trará a ordem cronológica
>>> > exata. O correto seria ordenar por ano e mês nesta ordem, ou
>>> > simplesmente pelo campo 'a.dt_mov'.
>>> >
>>>
>>>
>>> Mas neste caso não fica mais simples fazer:
>>>
>>> SELECT to_char(a.dt_mov, 'MM/YYYY') mes_ano, sum(a.vlr_final) total
>>> FROM movdirhe a
>>> WHERE a.dt_mov between '01/01/2010' and '21/08/2012'
>>> GROUP BY date_trunc('month', a.dt_mov)
>>> ORDER BY date_trunc('month', a.dt_mov);
>>>
>>> ou algo parecido?
>>>
>>> Osvaldo
>>>
>>  _______________________________________________
>>> pgbr-geral mailing list
>>> pgbr-geral@listas.postgresql.org.br
>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>>
>>
>>
>> _______________________________________________
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>>
>
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
Anselmo M. Silva
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a