antshome (オリジナル作品) 初公開: CSDN は
1 つのステートメントでデータベースのページングを完了
select top 10 b.* from (上位 20 の主キー フィールドを選択、フィールドの説明を並べ替えてテーブル名からフィールドを並べ替え) a, テーブル名 b where Primaryキー フィールド = a. 主キー フィールドの順序 a. 並べ替えフィールド
10 = ページあたりのレコード数
20 = (現在のページ + 1) * ページあたりのレコード数
以上のステートメントはページングを実行できますが、取り出される最終結果は並べ替えられます。
結果セットが必要な場合は(
時間など)、2 つの方法があります
。 1. 次のステートメントを使用しますが、効率が低くなる可能性があります。
名前 b, (上位 10 の主キー フィールドを選択し、(上位 20 の主キー フィールドを選択し、ソート フィールドの説明によるテーブル名順序) a 並べ替えフィールドによる順序) c ここで、主キー フィールド = c。キー フィールドの順序 c. フィールドの並べ替え
2. ado で処理し、レコード セット カーソルを最後に移動してから、前に移動します。
''以下は ASP の例です
set rsTemp = Server.CreateObject("adodb.recordset")
rsTemp.Open ステートメント,conn,1,1
rsTemp.MoveLast
for i = 1 to rsTemp.RecordCount
'Value....
rsTemp.MovePrevious
next
テストした結果、上記のページング方法は一時テーブルを使用するよりも高速で、シンプルで使いやすいことがわかりました。