检索前几个月的数据

时间:2016-11-03 13:44:25

标签: sql postgresql

我正在自动化一些报告,我试图自动化特定的月度报告。日期/时间存储在纪元值中。

查询下方:

SELECT
    Column1,Column2,Column3,Column4
FROM
    Table1,Table2
WHERE
    summarydate >= extract(epoch from to_timestamp('01 oct 2016', 'DD Mon YYYY'))::bigint and
    summaydate < extract(epoch from to_timestamp('01 nov 2016', 'DD Mon YYYY'))::bigint and
GROUP BY 1,2
ORDER BY 1,2

目前,在调整日期范围后手动运行查询。

考虑到纪元的摘录,是否可以将日期自动更改为上个月?

目标是使用此查询设置自动报告,以便在每月的第一个月中为前几个月的数据运行。

我无法在与上个月获取数据相关的其他问题中找到Postgres的解决方案&#39;

1 个答案:

答案 0 :(得分:1)

尝试使用DATE_TRUNC('month',DATE)输出本月的第一天:

SELECT
    Column1,Column2,Column3,Column4
FROM
    Table1,Table2
WHERE
    summarydate >= extract(epoch from date_trunc('month', current_date) - interval '1 month')::bigint and
    summaydate < extract(epoch from date_trunc('month', current_date))::bigint and
GROUP BY 1,2
ORDER BY 1,2
相关问题