Qiitaとかに、試したいSQL文とか載ってて手軽に試したいけど、テーブル構成が違う。
試したいけど、テーブルまで作成するのはちょっと、、、て時に使えるSQL。
with句を使う
with句を使うと一時的テーブルを作れるので手軽に試せる。
WITH lag_lead_test AS (
SELECT
*
FROM
(
VALUES
(1)
,(2)
,(3)
,(4)
,(5)
,(6)
,(7)
,(8)
,(9)
,(10)
) col(num)
)
SELECT
*
,LAG(num) OVER(ORDER BY num) as lag
,LEAD(num) OVER(ORDER BY num) as lead
FROM lag_lead_test;
例は、カラムnumに1~10の値を突っ込んでlag_lead_testという一時テーブルを作成している。
一時テーブルなので、続けてQiitaとかに書かれているSelect文などを突っ込めばOK。
以下記事のLAG関数というウィンドウ関数が非常に使えそうだったので試したかったのでメモです。