まずは、各行について過去の直近の行を求めてみましょう。OLAP関数を使える実装ならば、リスト1のような簡潔な書き方で実現できます(実行結果は図1:注2)。 リスト1 過去の直近を求める(OLAP関数:現在のところ実装依存) SELECT sample_date AS cur_date, MIN(sample_date) OVER (ORDER BY sample_date ASC ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS latest FROM LoadSample; 図1 リスト1の実行結果 cur_date latest -------- -------- 08-02-01 08-02-02 08-02-01 08-02-05 08-02-02 08-02-07 08-02-05 08-02-08 08-02-07 08-02-12
![第5回 SQL流行間比較(1) はじめに | gihyo.jp](https://cdn-ak-scissors.b.st-hatena.com/image/square/3f9bebdaf9754632531058dd15ebc1aec2f9e3e3/height=288;version=1;width=512/https%3A%2F%2Fgihyo.jp%2Fassets%2Fimages%2FICON%2F2009%2F396_sql_academy.png)