[解決済み] ROWS UNBOUNDED PRECEDINGはTeradataで何に使うのですか?
2022-02-09 20:14:19
質問内容
Teradataを使い始めたばかりですが、Teradataで"Rows unbounded preceding"という順序付き分析関数に出会いました。この関数について学ぶためにいくつかのサイトを試してみましたが、どのサイトも同じように複雑な例を使って説明しています。 基本的なことを理解するために、簡単な例を提供していただけないでしょうか。
どのように解決するのですか?
これは、標準SQLの一部であり、Teradataを含む多くのデータベースで実装されているウィンドウ関数の "frame" または "range" 節のことである。
簡単な例では、3日間という枠の中の平均額を計算することができます。この例ではPostgreSQLの構文を使っていますが、Teradataでも同じでしょう。
WITH data (t, a) AS (
VALUES(1, 1),
(2, 5),
(3, 3),
(4, 5),
(5, 4),
(6, 11)
)
SELECT t, a, avg(a) OVER (ORDER BY t ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
FROM data
ORDER BY t
...という結果になります。
t a avg
----------
1 1 3.00
2 5 3.00
3 3 4.33
4 5 4.00
5 4 6.67
6 11 7.50
ご覧のように、各平均値は計算されます
"オーバー"。
前の行との間の範囲からなる順序付きフレーム(
1 preceding
)とそれに続く行(
1 following
).
を書くと
ROWS UNBOUNDED PRECEDING
であれば、フレームの下限は単純に無限大となる。合計を計算するときに便利です(例.
ランニング・トータル"
)などになります。
WITH data (t, a) AS (
VALUES(1, 1),
(2, 5),
(3, 3),
(4, 5),
(5, 4),
(6, 11)
)
SELECT t, a, sum(a) OVER (ORDER BY t ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
FROM data
ORDER BY t
くっぷく
t a sum
---------
1 1 1
2 5 6
3 3 9
4 5 14
5 4 18
6 11 29
関連
-
[解決済み] テーブルのFROM句の項目がない [終了しました] 。
-
[解決済み】Postgresのエラー。式として使用されるサブクエリによって返される複数の行
-
[解決済み】ORA-01791: SELECTされた式ではない
-
[解決済み] アンピボットの主キーを含む対象コードページで、テキストが切り捨てられたか、1つ以上の文字が一致しない。
-
[解決済み] pg_restoreです。[archiver] 入力ファイルはテキスト形式のダンプであるように見えます。psql を使用してください。
-
[解決済み] varchar 値の変換で int カラムがオーバーフローしました。
-
[解決済み] SQLです。最初の出現箇所のみを返す
-
[解決済み] PostgreSQL - json 型の等値演算子を識別できませんでした。
-
[解決済み] アクセスクエリーエラー(from句のシンタックスエラー)
-
[解決済み] トリガーがコンパイルエラーで作成される
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テーブルのFROM句の項目がない [終了しました] 。
-
[解決済み】SQL Server サブクエリが1つ以上の値を返しました。サブクエリが =, !=, <, <= , >, >= に続く場合、これは許可されません。
-
[解決済み】ORA-01791: SELECTされた式ではない
-
[解決済み] アンピボットの主キーを含む対象コードページで、テキストが切り捨てられたか、1つ以上の文字が一致しない。
-
[解決済み] pg_restoreです。[archiver] 入力ファイルはテキスト形式のダンプであるように見えます。psql を使用してください。
-
[解決済み] ORA-01790: 式は、対応する式と同じデータ型でなければならないエラーが発生するケース
-
[解決済み] エラー: 名前解析スクリプトで正しい関数に渡された長さのパラメーターが無効です。
-
[解決済み] nvarchar 値 ... をデータ型 int に変換する際に、変換に失敗しました。
-
[解決済み] ORA-00997: LONG データタイプの不正使用に対する回避策
-
[解決済み] トリガーがコンパイルエラーで作成される