[PostgreSQL][SQL] 週単位でレコードを纏める方法

公開日: : 未分類 , , ,

週単位でレコードを纏めるSQL。

履歴テーブルを週単位にレポーティングする際に使用。

サンプルテーブルは以下。
正規化されてないですが、例なのでOK。

select
    T2.week
  , sum(T1.val)
from
  (select TO_DATE('2014-05-01', 'yyyy-mm-dd') + cast(s.a || 'days' AS INTERVAL) as week from generate_series(0, 40, 7) as s(a)) T2
LEFT OUTER JOIN
  履歴テーブル T1
ON
      T1.date_time >= T2.week
  AND T1.date_time < T2.week + interval '7 days'
group by
  T2.week

「select TODATE('YYYY-MM-DD', ・・・」のところに集計開始日を入れます。
ここでは、2014-05-01の木曜日を集計開始日としています。
次に、「generate_series(0, 40, 7)」のところの「40」の値を”集計したい日数”に変更します。
例)1年間の集計をとりたいのであれば365と入力
週で指定できないので面倒ですが、仕方なし。

結果は以下のようになる。

スポンサードリンク

関連記事

no image

[Miles to Km] Compare to Km(kilometers) to Miles

Compare to Km(kilometers) to Miles for Pokemon GO

記事を読む

no image

[java][基本] HashMap、HashSet、ArrayListのループ処理サンプル

こんにちはkeiです。 今回は、Javaを書く上で良く使う以下3つのクラスのループ処理を書いて

記事を読む

no image

[Google検索] 英語優先で検索したい場合

Google検索では、現状日本から検索すると、日本語優先で表示されてしまうため、 英語ページを見る

記事を読む

スポンサードリンク

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スポンサードリンク

no image
[Re:dash] BigQuery接続で日本語タイトルを出す(v2.0.0)

BigQueryは現在マルチバイトを含むSQLを発行することができない

no image
[Python] Nullの判定方法(None)

Nullの判定方法(None) 表記方法 Pythonでは、Nul

no image
[Python] 型の検査・判定

Pythonでの型の検査・判定方法 isinstance サン

no image
[python] 日付の取り扱い(datetime) 現在日付、計算、文字列変換(format)

現在日付 日付の計算 [crayon-5b0546cc55c2

no image
[python] 文字列結合

pythonでの文字列結合 サンプル

→もっと見る

  • 2018年5月
    « 10月    
     123456
    78910111213
    14151617181920
    21222324252627
    28293031  
  • 2018年5月
    « 10月    
     123456
    78910111213
    14151617181920
    21222324252627
    28293031  
PAGE TOP ↑