データベーステーブルからn番目の行を選択する、データベースにとらわれない方法を学習することに興味があります。また、次のデータベースのネイティブ機能を使用してこれを実現する方法も興味深いでしょう。
- SQLサーバー
- MySQL
- PostgreSQL
- SQLite
- オラクル
現在、SQL Server 2005で次のようなことをしていますが、他のより不可知論的なアプローチに興味があります。
WITH Ordered AS (
SELECT ROW_NUMBER() OVER (ORDER BY OrderID) AS RowNumber, OrderID, OrderDate
FROM Orders)
SELECT *
FROM Ordered
WHERE RowNumber = 1000000
上記のSQLのクレジット:Firoz Ansariのウェブログ
更新: SQL標準に関するTroels Arvinの回答を参照してください。トロエル、私たちが引用できるリンクはありますか?
OrderNo N
導入し、新しい注文の作成時に独立したシーケンスジェネレーターからそれを生成します。
offset x fetch first y rows only
。現在(少なくとも)Postgres、Oracle12、DB2でサポートされています。