-
LAG関数の基本的な構文:
LAG(column, offset, default) OVER (PARTITION BY partition_column ORDER BY sort_column)
- column: 前の行の値を取得したい列
- offset: 前の行からのオフセット(デフォルトは1)
- default: 最初の行やオフセットが存在しない場合に返されるデフォルト値
-
単純なLAG関数の例:
SELECT column, LAG(column) OVER (ORDER BY sort_column) AS lag_value FROM table_name;
上記のクエリでは、table_nameテーブルのcolumn列の値とその前の行の値(lag_value)を取得しています。
-
パーティションごとのLAG関数の例:
SELECT column, LAG(column) OVER (PARTITION BY partition_column ORDER BY sort_column) AS lag_value FROM table_name;
このクエリでは、partition_columnでパーティションを作成し、各パーティション内でのsort_columnの順序に基づいて、column列の値とその前の行の値(lag_value)を取得しています。
これらはLAG関数の基本的な使用例ですが、SQLのLAG関数にはさまざまな応用方法があります。データの変化やトレンドの分析、前後の値の比較、ランキングの計算などに活用することができます。詳細な使い方や応用例については、データベースのドキュメントやチュートリアルを参照することをおすすめします。