V5R4 からいくつか OLAP 関数と言われるランキングや行番号などを返す関数がサポートされるようになっています。
行番号を返す関数は ROW_NUMBER というもので、OLAP 関数の中ではけっこういろんな場面で使えそうです。
通常の ORDER BY のついた SELECT 文を実行してみましょう。

結果はこんなかんじです。

ROW_NUMBER 関数は ORDER BY 句について指定することができます。

ORDER BY の順序について順序番号を返してくれます。

これで上位何位までのものを選択する、といったようなこともできますね。
直接 ROW_NUMBER 関数の列を WHERE 文節では指定できないようなのですが、そういったベストテン的なものを出すのには FETCH FIRST n ROWS などで代用できそうです。


|
|