Em 29 de agosto de 2012 17:24, Anselmo Silva <[email protected]>escreveu:

> Não poderia ser somente "order by a.dt_mov"?
>
> Em 29 de agosto de 2012 17:20, Ramiro Pamponet <[email protected]>escreveu:
>
>> Em 29 de agosto de 2012 17:06, Edson Lidorio <[email protected]>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 <[email protected]>
>>>
>>>> Em 22/08/12, Tiago Adami<[email protected]> escreveu:
>>>> > Em 22 de agosto de 2012 00:05, Matheus de Oliveira
>>>> > <[email protected]> escreveu:
>>>> >>
>>>> >> Em 21/08/2012 21:27, "Edson - Listas" <[email protected]> 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
>>>>
>>>
Na verdade eu só estou passando uma dica que me deram aqui nessa lista
mesmo, no post Ordenar datas. Onde a única diferença é que eu precisava
ordenar as datas por dia e mês.

>  _______________________________________________
>>>> pgbr-geral mailing list
>>>> [email protected]
>>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>>>
>>>
>>>
>>> _______________________________________________
>>> pgbr-geral mailing list
>>> [email protected]
>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>>
>>>
>>
>> _______________________________________________
>> pgbr-geral mailing list
>> [email protected]
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>>
>
>
> --
> Anselmo M. Silva
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a