Maison > base de données > tutoriel mysql > Comment récupérer les N premiers enregistrements par groupe dans Microsoft Access SQL ?

Comment récupérer les N premiers enregistrements par groupe dans Microsoft Access SQL ?

DDD
Libérer: 2025-01-07 17:27:40
original
892 Les gens l'ont consulté

How to Retrieve the Top N Records per Group in Microsoft Access SQL?

Utilisez SQL (Access) pour obtenir les N premiers enregistrements de chaque groupe

Question :

Comment obtenir les n derniers enregistrements de chaque groupe en utilisant SQL dans Microsoft Access ?

Contexte :

Les utilisateurs disposent de tableaux nommés « Utilisateur » et « Progression » qui contiennent respectivement des informations sur l'utilisateur et son score. Ils ont besoin d'une requête pour afficher les trois scores les plus récents pour chaque utilisateur.

Réponse :

La requête imbriquée suivante récupère les trois scores les plus récents pour chaque utilisateur :

<code class="language-sql">SELECT PR1.LogInID, PR1.Score, PR1.[Date Taken]
FROM Progress AS PR1
WHERE PR1.[Date Taken] IN (
                        SELECT TOP 3 PR2.[Date Taken]
                        FROM Progress PR2
                        WHERE PR2.LoginID = PR1.LoginID
                        ORDER BY PR2.[Date Taken] DESC
                        )
ORDER BY LoginID, [Date Taken]</code>
Copier après la connexion

Instructions :

La sous-requête dans la clause

IN utilise le mot-clé TOP et la clause ORDER BY pour récupérer les trois dernières dates pour chaque ID de connexion. La requête principale sélectionne ensuite les enregistrements correspondants dans la table Progress où la colonne [Date Taken] correspond à l'une des trois dernières dates pour chaque LoginID. La clause ORDER BY dans la requête principale garantit que les enregistrements sont triés par LoginID et [Date Taken] par ordre décroissant.

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!

source:php.cn
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