例: 残存合計 - Teradata Database - Teradata Vantage NewSQL Engine - ウィンドウ指定の例、残存合計の計算。

Teradata Vantage™ SQL関数、演算子、式および述部

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/xzf1512079057909.ditamap
dita:ditavalPath
ja-JP/xzf1512079057909.ditaval
dita:id
B035-1145
Product Category
Software
Teradata Vantage

以下の問合わせは、すべての都市の肉の売上げの残存合計を戻します。SUM関数にPARTITION BY句がないため、残存合計にすべての都市が含まれることに注意する必要があります。

   SELECT city, kind, sales,
   SUM(sales) OVER (ORDER BY city, kind
                    ROWS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING)
   FROM monthly;

上記のSELECT文の結果は、例えば以下のようなテーブルになります。

city     kind           sales    Remaining Sum(sales)
-------  -------------  -------  --------------------
Omaha    variety pack   25       ?
Omaha    pure pork      125      25
Omaha    pure pork      25       150
Omaha    pure pork      45       175
Chicago  variety pack   55       220
Chicago  variety pack   25       275
Chicago  variety pack   45       300
Chicago  pure pork      50       345

計算の並替え順序は、まずcity単位でアルファベット順、そしてkind単位でアルファベット順であることに注意してください。しかし結果は、その逆の順序で表示されます。

ウィンドウ指定で指定する並替え順序によって関数の適用対象の行の並替え順序が定義されますが、それによって結果の順序が定義されるわけではありません。結果を順序付けするには、SELECT文でORDER BY句を使用します。

例:

   SELECT city, kind, sales,
   SUM(sales) OVER (ORDER BY city, kind
                    ROWS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING)
   FROM monthly
   ORDER BY city, kind;

上記のSELECT文の結果は、例えば以下のようなテーブルになります。

city     kind           sales    Remaining Sum(sales)
-------  -------------  -------  --------------------
Chicago  pure pork      50       345
Chicago  variety pack   55       265
Chicago  variety pack   25       320
Chicago  variety pack   45       220
Omaha    pure pork      25       70
Omaha    pure pork      125      95
Omaha    pure pork      45       25
Omaha    variety pack   25       ?
計算対象 使用する関数
累積合計
  • SUMウィンドウ関数
  • CSUM
累計、グループ、または移動カウント COUNTウィンドウ関数
グループ合計 SUMウィンドウ関数
移動平均
  • AVGウィンドウ関数
  • MAVG
現在の行列値と、それに先行するn番目の行列値との間の移動差分 MDIFF
移動線形回帰 MLINREG
移動合計
  • SUMウィンドウ関数
  • MSUM
列の値の分位スコア QUANTILE
グループ内のすべての行の順序付き順位
  • RANKウィンドウ関数
  • RANK
グループ内の行の相対的な順位 PERCENT_RANKウィンドウ関数
ウィンドウのウィンドウ順序に基づく、そのウィンドウ パーティション内の行の順次行番号 ROW_NUMBER
累計、グループ、または移動最大値 MAXウィンドウ関数
累計、グループ、または移動最小値 MINウィンドウ関数