諸事情でWindow関数を触る機会があって、ちょっと前にyokuさんに教えてもらったWindow関数ネタを思い出したので1つ。
Oracle11gにはMySQLでおなじみ?のLIMIT,OFFSETがない。
そこで(いろいろやり方はあるけど)window関数を使ってあらわしたりする。
例えば id(number), value(varchar2) のテーブルならこんな感じ。
SELECT * FROM ( SELECT row_number() over order by id asc) as row_number, value FROM t1 ) a WHERE a.row_number between 500 and 600;
MySQL8からwindow関数が追加され、row_number()とかもつかえるのでこのクエリをそのままMySQLで使えるか検討してみる。 …
[さらに読む]