LAG / LEAD の使い方
前の行・次の行の値を見る
書き方
LAG(列 [, n [, 既定値]]) OVER (ORDER BY …) LEAD(列 [, n [, 既定値]]) OVER (PARTITION BY … ORDER BY …)
LAG は n 行前(省略時は 1 行前)、LEAD は n 行後の値です。前後の行がないときは NULL か既定値になります。前日との差などに使います。
例
SELECT day, amount, amount - LAG(amount) OVER (ORDER BY day) AS diff FROM sales;
実際に打って練習する
Oracle コースの Lv17「前後の行 LAG と LEAD」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
Lv1〜3 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。