我正在自动处理一些报告,我在尝试自动处理一个特定的月报时遇到了一些困难。日期/时间存储在epoch值中。
以下查询:
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
目前,查询是在调整日期范围后手动运行的。
考虑到从epoch中提取的内容,是否可以将日期自动更改为前一个月?
我们的目标是设置一个带有此查询的自动报表,以便在每个月的第一个月运行前几个月的数据。
我找不到其他与“获取上月数据”相关的问题的解决方案
最佳答案
尝试使用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
关于sql - 检索前几个月的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40403098/