Em 8 de junho de 2010 12:51, Osvaldo Kussama <[email protected]> escreveu: > Em 8 de junho de 2010 10:24, Tiago Kepe <[email protected]> escreveu: >> Bom dia, >> >> Preciso selecionar o número de máquinas instaladas nos últimos seis meses, >> para cada um desses meses é necessário acumular o nº de máquinas instaladas >> até esse mês, tenho um select inicial que seleciona os últimos seis meses, >> porém não consigo acumular o valor: >> >> SELECT >> initcap("mectb10_dm_inventario"."inv_mes_nm") AS mes, >> cast("mectb10_dm_inventario"."inv_mes" as text), >> count(distinct inv_maquina) AS maquinas_instaladas <<<< Essa linha >> conta o número de máquinas instaladas, mas só do mês específico >>>>>> >> FROM >> "mectb10_dm_inventario" >> WHERE >> inv_mes BETWEEN date_part('month',CURRENT_DATE)-6 AND >> date_part('month',CURRENT_DATE) >> GROUP BY >> inv_mes_nm, >> inv_mes >> ORDER BY >> inv_mes ASC >> > > > Supondo que o que você esteja chamando de inv_mes seja ano/mês, > utilize em sua cláusula WHERE: > > WHERE inv_mes::date BETWEEN date_trunc('month',CURRENT_DATE) AND > date_trunc('month',CURRENT_DATE)-'6 months'::interval > > Osvaldo >
Desculpe, resposta errada para seu problema. Faça uma junção entre uma tabela dos meses desejados (por. ex. utilizando oa função generate_series) e seu select utilizando o comparador <= para o mês. Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
