Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DLSeken

Função Extract + sum - PostgreSQL

Recommended Posts

Bom dia,

 

Estou com um problema em um sistema que estou desenvolvendo.

 

Nesse sistema tenho diversas datas de afastamento de serviço onde preciso que seja feita a soma dos afastamentos por ano:

 

EX:

 

Afastamento Data Inicio Data Termino (Data Termino - Data Inicio)

 

1 01/05/2011 20/05/2011 20

2 10/08/2011 15/08/2011 5

3 01/04/2015 04/04/2015 4

4 05/05/2015 07/05/2015 3

 

 

Porém não estou conseguindo montar o SQL para somar as datas pelo ano. Alguém poderia me ajudar? Eu montei esse SQL abaixo mas não está funcionando.

 

Montei de uma maneira errada porque não tenho ideia de como fazer.

SELECT dt_inicio,dt_termino, sum((dt_termino - dt_inicio)+1),
 Extract (Year from dt_inicio) ano 
 from sch_gp.tb_certidao_dias 
 WHERE date_trunc('Year', dt_inicio) = '2014-01-01'
 group by dt_inicio,dt_termino

Compartilhar este post


Link para o post
Compartilhar em outros sites


SELECT EXTRACT (year FROM dt_inicio) ANO, sum((dt_termino - dt_inicio)+1)

from sch_gp.tb_certidao_dias

WHERE date_trunc('Year', dt_inicio) = '2014-01-01'

group by EXTRACT (year FROM dt_inicio)

Compartilhar este post


Link para o post
Compartilhar em outros sites

outra forma:

select date_part('year', inicio), sum(fim-inicio) AS quantidade_dias
from afastamentos group by date_part('year', inicio);

http://pt.wikibooks.org/wiki/PostgreSQL_Pr%C3%A1tico/Fun%C3%A7%C3%B5es_Internas/Data_e_Hora

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.