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

Responder a