データベース レコードが多数あるため、クエリ結果をページに表示する必要があります。 Access データベースのページング方法は次の 2 つです。
(学習ビデオ共有: プログラミング入門)
1. クエリ結果のページング メソッドにアクセスする 1
1. メソッド
ページあたりのレコード数が CntPerPage であるとします。ページ Page のクエリ結果を取得するには、次の SQL ステートメントを使用します。
SELECT * FROM ( SELECT TOP CntPerPage * FROM( SELECT TOP Page*CntPerPage * FROM TableName WHERE Query_Conditionm ORDER BY OrderField ) ORDER BY OrderField DESC ) ORDER BY OrderField
TableName はテーブル名、Query_Condition はクエリ条件、OrderField は並べ替えに使用されるフィールド名です
2. 原則
ネストされた 3 ステップ クエリ:
最初のステップのクエリ: 現在のページと前のすべてのページのレコードをクエリし、並べ替えフィールドで降順に並べ替えます。
SELECT TOP Page*CntPerPage * FROM TableName WHERE Query_Conditionm ORDER BY OrderField
2 番目のステップのクエリ: クエリしたばかりのレコードの前の CntPerPage をクエリします (すでに降順に配置されています) レコードをクエリします (降順のままにしてください)。これらはページ
SELECT TOP CntPerPage * FROM( 第一步查询结果 ) ORDER BY OrderField DESC
上のすべてのレコードです。 クエリの 3 番目のステップ: 前のクエリは、実際にはページ上のすべてのレコードをクエリしています。この 3 番目のステップは、取得したばかりのデータを正のシーケンスに配置するだけです。順序が必要ない場合、またはプログラム内に他のデータの並べ替え処理がある場合、このステップは省略できます。
SELECT * FROM ( 第二步查询结果 ) ORDER BY OrderField
3. 例
A Student テーブルでは、年齢が 20 歳未満のすべてのレコードをクエリし、名前順に並べ替え、ページあたりのレコード数を 100 にしたいとします。 5 ページのクエリを取得するには、次の SQL ステートメントを使用します。
SELECT * FROM (SELECT TOP 100 * FROM( SELECT TOP 500 * FROM Student WHERE age<20 ORDER BY name ) ORDER BY name DESC) ORDER BY name
2. インターネットで一般的に使用される NOT IN 方式
インターネットでページング方式を検索する場合、これが最も一般的な方式です。
方法:
SELECT TOP CntPerPage * FROM TableName WHERE Query_Conditionm AND id NOT IN ( SELECT TOP (Page-1)*CntPerPage id FROM TableName WHERE Query_Conditionm ORDER BY id ) ORDER BY id
原則:
2 ステップ クエリ:
最初のステップ: このページの前にあるすべての対象となるレコード ID を選択します。
SELECT TOP (Page-1)*CntPerPage id FROM TableName WHERE Query_Conditionm ORDER BY id
2 番目のステップ: クエリ条件を追加します。 「選択した ID のクエリ結果に ID がありません」と指定して、最初の CntPerPage レコードを取得します。この方法では、クエリ結果によって最初の Page-1 ページのすべてのデータがフィルタリングされ、次に Page-1 のデータが選択されます。 . すべての記録。
SELECT TOP CntPerPage * FROM TableName WHERE Query_Conditionm AND id NOT IN (第一步查询结果) ORDER BY id
3. ページングクエリの効率
2つの方法の実際のテスト効率はほぼ同じですが、個人的には2番目の方法のNOT IN判定の効率はそれほど高くないはずだと思います高すぎるため、レコードの量が比較的多い場合は、最初の方法の方が効率的であると感じます。
関連する推奨事項: アクセス データベース チュートリアル
以上がアクセスデータベースページングメソッドの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。