検索
ホームページトピックAccessアクセスデータベースページングメソッドの概要

アクセスデータベースページングメソッドの概要

Jan 22, 2021 am 10:50 AM
accessデータベース

アクセスデータベースページングメソッドの概要

データベース レコードが多数あるため、クエリ結果をページに表示する必要があります。 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 サイトの他の関連記事を参照してください。

声明
この記事はcsdnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません