2016-11-03 6 views
2

私はいくつかのレポートを自動化する過程にあり、特定の月次レポートを自動化しようとする壁にぶつかりました。日付/時刻はエポック値で保存されます。クエリ以下前の月のデータを取得する

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 

現在のクエリは、日付範囲を調整した後に手動で実行されます。

エポックからの抜粋を念頭に置いて、前月に日付を自動的に変更することは可能ですか?

この目標は、このクエリを使用して前月のデータに対して毎月1日に実行する自動レポートを設定することです。

私は意志を出力月の最初DATE_TRUNC('month',DATE)を使用してみてください「先月データの取得」に関連する他の質問に

+0

をちょうど例ですが、 'GROUP BY'セクションにない場合、' SELECT'に集約されていないフィールドがあります –

+0

@JuanCarlosOropeza正しい例です。実際のselectステートメントはクエリ内で動作しますが、私はまだかなり初心者です:) –

+0

あなたはそれを最高のあなたにしようとする必要がある場合でも例です他の賢明なことは、関連性のないエラーで時間を失ったことです。 \t [**最小限の完全で検証可能なサンプルを作成する方法**](http://stackoverflow.com/help/mcve) –

答えて

1

をPostgresのための解決策を見つけることができませんでした:私はおそらく知っている

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 
+0

完璧な感謝@サギ 私はあなたがメモリバンクのための間隔、何かを使うことができたとは思わなかった! –

+0

問題のない相手@ダンテ – sagi

関連する問題