Maison > Les sujets > Access > Introduction à la méthode de pagination de la base de données d'accès

Introduction à la méthode de pagination de la base de données d'accès

王林
Libérer: 2021-01-22 10:50:44
avant
4901 Les gens l'ont consulté

Introduction à la méthode de pagination de la base de données d'accès

Comme il existe de nombreux enregistrements de base de données, les résultats de la requête doivent être affichés dans des pages. Voici deux méthodes de pagination pour la base de données Access.

(Partage de vidéos d'apprentissage : Introduction à la programmation)

1. Méthode de pagination des résultats de la requête d'accès 1

1.

Supposons que le nombre d'enregistrements par page soit CntPerPage. Pour obtenir les résultats de la requête sur la page, utilisez l'instruction SQL suivante.

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
Copier après la connexion

Où TableName est le nom de la table, Query_Condition est la condition de requête et OrderField est le nom du champ utilisé pour le tri

2 Principe

Requête imbriquée en trois étapes :

Requête de première étape : interrogez les enregistrements de la page actuelle et de toutes les pages précédentes, et triez-les par ordre décroissant selon le champ de tri

SELECT TOP Page*CntPerPage * FROM TableName WHERE Query_Conditionm ORDER BY OrderField
Copier après la connexion

Requête de deuxième étape : interrogez le CntPerPage précédent de l'enregistrement qui vient d'être interrogé ( déjà classés par ordre décroissant) Interrogez les enregistrements (conservez-les par ordre décroissant), ce sont tous les enregistrements de la page

SELECT TOP CntPerPage * FROM( 第一步查询结果 ) ORDER BY OrderField DESC
Copier après la connexion

La troisième étape de la requête : La requête précédente a effectivement interrogé tous les enregistrements de la page, mais par ordre décroissant Disposé, cette troisième étape consiste simplement à mettre les données qui viennent d'être obtenues dans une séquence positive. Si la commande n'est pas requise ou s'il existe d'autres processus de tri de données dans le programme, cette étape peut être omise.

SELECT * FROM ( 第二步查询结果 ) ORDER BY OrderField
Copier après la connexion

3. Par exemple

Une table Student doit interroger tous les enregistrements dont l'âge est inférieur à 20 ans, triés par nom, le nombre d'enregistrements par page est de 100 et la requête à la page 5 doit être obtenu. Par conséquent, utilisez l'instruction SQL suivante.

SELECT * FROM (SELECT TOP 100 * FROM( SELECT TOP 500 * FROM Student  WHERE age<20 ORDER BY name ) ORDER BY name DESC) ORDER BY name
Copier après la connexion

2. La méthode NOT IN couramment utilisée sur Internet

Lors de la recherche de méthodes de pagination sur Internet, c'est la méthode la plus courante.

Méthode :

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
Copier après la connexion

Principe :

Requête en deux étapes :
Étape 1 : Sélectionnez tous les ID d'enregistrement éligibles avant cette page

SELECT TOP (Page-1)*CntPerPage id FROM TableName WHERE Query_Conditionm ORDER BY id
Copier après la connexion

Deuxième étape : Ajoutez la condition de requête "l'identifiant n'est pas dans les résultats de la requête des identifiants qui viennent d'être sélectionnés", et obtiendra les premiers enregistrements CntPerPage de cette manière, les résultats de la requête filtreront toutes les données de la première page Page-1, puis sélectionneront les données sur Page-. 1. Tous les enregistrements.

SELECT TOP CntPerPage * FROM TableName WHERE Query_Conditionm AND id NOT IN (第一步查询结果) ORDER BY id
Copier après la connexion

3. Efficacité des requêtes de pagination

L'efficacité réelle des tests des deux méthodes est presque la même, mais je pense personnellement que l'efficacité des jugements NOT IN dans la deuxième méthode ne devrait pas l'être. élevé, donc je pense que si la quantité d'enregistrements est relativement importante, la première méthode devrait être plus efficace.

Recommandations associées :

Tutoriel d'accès à la base de données

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal