[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

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

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

記事を読む

no image

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

Compare to Km(kilometers) to Miles for Pokemon GO

記事を読む

no image

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

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

記事を読む

スポンサードリンク

Message

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

スポンサードリンク

no image
CentOSにdockerをインストールしてみた

前置き dockerをcentos7にインストールしてみました

no image
awkでのgsubを使った文字列置換(正規表現)

まえおき bashなどのシェルスクリプトで、lsした結果とかを

no image
bashで並列処理する方法(xargs)

並列処理とは 通常、意識せずにプログラムを書くと、大体の場合は

no image
AWS Redshiftの使用ストレージ容量をクエリで調べる方法

用途 AWS Redshfitのコンソールを見れば、使用中のス

no image
pythonでstorage transfer serviceを使ってみた。

準備 pythonのインストールとかする。 このあたり。

→もっと見る

  • 2022年5月
     1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031  
  • 2022年5月
     1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031  
PAGE TOP ↑