私は四半期ごとのイベント、四半期のイベントの日付とコストを追跡するpostgresのDBテーブルを持っています。 各イベントには少なくとも5分の4の情報があり、一部のイベントには8分の3以上のイベントがあります。SQLクエリは、日付エントリの行ベースの数値を返します
サンプルテーブル
EventA | 2013-01-01 | 500 EventA | 2013-04-01 | 600 EventA | 2013-07-01 | 700 EventA | 2013-10-01 | 700 EventA | 2014-01-01 | 750 EventB | 2013-01-01 | 400 EventB | 2013-04-01 | 500 EventB | 2013-07-01 | 600 EventB | 2013-10-01 | 600 EventB | 2014-01-01 | 575 EventB | 2014-04-01 | 700 EventB | 2014-07-01 | 750 EventB | 2014-10-01 | 800 EventB | 2015-01-01 | 800 EventB | 2015-04-01 | 840
私は、クエリを経由して次の操作を実行できるようにしたいと思います。イベントの行数が6以下の場合は、第1四半期の行と最後の行を返します。イベントの期間が7分の1以上の場合は、最後の四半期の行(最新の日付)と6分の1を返します。つまり、イベントに3年間の情報、12分の1のイベントがある場合は、第12四半期と第6四半期を見たいと思います。
私はウィンドウ関数を使用して四分の一カウントをイベントごとに返し、サブクエリを使用してイベントの四半期数に基づいて結果を取得する方法を知っています。立ち往生した。私はこれらの結果セットを取って、それらを結合して私の後ろの行を返す必要があると思っていますが、これを行う方法はわかりません。予め
EventA | 2013-01-01 | 500 EventA | 2014-01-01 | 750 EventB | 2013-10-01 | 600 EventB | 2015-04-10 | 840
おかげであろう上記の例から返さ
ように、サンプルデータ
見つからない:Postgresのバージョン、テーブル定義、試したクエリ。 –