Tenho uma SQL que estou tentando rodar no Postgres, para que me retorne os valores diariamente por ano. Com uma ressalva, preciso que os dias restantes do mês de janeiro estejam sem os zeros para o ano de 2015. Consegui resolver esta questão dos dias seguintes virem nulos ao invés dos zeros. Mas os dias do mês que estão zerados nos quatro anos ele simplesmente não lista. Tais como os dias 4, 10, 12. Abaixo está o código e uma imagem do resultado. Como poderia fazer para que no resultado os anos que estão zerados traga o zero?
SELECT CASE DATE_PART('DAY', DATA)
when 01 then '01'
when 02 then '02'
when 03 then '03'
when 04 then '04'
when 05 then '05'
when 06 then '06'
when 07 then '07'
when 08 then '08'
when 09 then '09'
when 10 then '10'
when 11 then '11'
when 12 then '12'
when 13 then '13'
when 14 then '14'
when 15 then '15'
when 16 then '16'
when 17 then '17'
when 18 then '18'
when 19 then '19'
when 20 then '20'
when 21 then '21'
when 22 then '22'
when 23 then '23'
when 24 then '24'
when 25 then '25'
when 26 then '26'
when 27 then '27'
when 28 then '28'
when 29 then '29'
when 30 then '30'
when 31 then '31' end AS DIA_SEM,
SUM(CASE WHEN date_part('year',data) = 2012 THEN 1 ELSE 0 END) AS "2012",
SUM(CASE WHEN date_part('year',data) = 2013 THEN 1 ELSE 0 END) AS "2013",
SUM(CASE WHEN date_part('year',data) = 2014 THEN 1 ELSE 0 END) AS "2014",
SUM(CASE WHEN date_part('day', "data") > date_part('day',CURRENT_DATE) THEN NULL
ELSE (CASE WHEN date_part('year',data) = 2015 THEN 1 ELSE 0 END) END) AS "2015",
"count"(*) AS TOTAL
from admgis.controle_mortes
WHERE subjetividade = 'CVLI'
AND cidade = 'Arapiraca'
AND date_part('MONTH',data) = 01
GROUP BY DIA_SEM
ORDER BY DIA_SEM
Pergunta
nicol store
Tenho uma SQL que estou tentando rodar no Postgres, para que me retorne os valores diariamente por ano. Com uma ressalva, preciso que os dias restantes do mês de janeiro estejam sem os zeros para o ano de 2015. Consegui resolver esta questão dos dias seguintes virem nulos ao invés dos zeros. Mas os dias do mês que estão zerados nos quatro anos ele simplesmente não lista. Tais como os dias 4, 10, 12. Abaixo está o código e uma imagem do resultado. Como poderia fazer para que no resultado os anos que estão zerados traga o zero?
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.