Maison > base de données > tutoriel mysql > Comment puis-je simuler la fonctionnalité ROW_NUMBER() OVER (PARTITION BY) dans MS Access ?

Comment puis-je simuler la fonctionnalité ROW_NUMBER() OVER (PARTITION BY) dans MS Access ?

Patricia Arquette
Libérer: 2024-12-24 21:47:11
original
583 Les gens l'ont consulté

How Can I Simulate ROW_NUMBER() OVER (PARTITION BY) Functionality in MS Access?

Réalisation de la numérotation des lignes dans MS Access

La fonction « Numéro de ligne sur partition par », que l'on trouve couramment dans les bases de données comme SQL Server, permet de l'affectation de valeurs entières séquentielles à des lignes dans une partition spécifiée d'un ensemble de résultats. Bien que MS Access ne prenne pas en charge cette fonction de manière native, il est possible d'obtenir un résultat similaire.

Méthode d'auto-jointure

Une approche pour émuler le « numéro de ligne sur la partition Par" dans Access, il s'agit d'une auto-adhésion inégale. Considérez le tableau suivant :

Ino Type DOC
1 1800xxc1 3a
2 1810xxc2 3b
3 1700xxc3 3c
4 1700xxc4 3a
5 1800xxc5 3a
6 1800xxc6 3a
7 1800xxc7 3b

La requête suivante utilise une auto-jointure pour calculer les numéros de ligne dans une partition en fonction du champ "DOC" :

SELECT
    t1.DOC,
    t1.Type,
    COUNT(*) AS [Ino Seq]
FROM
    MyData AS t1
    INNER JOIN
    MyData AS t2
        ON t2.DOC = t1.DOC
            AND t2.Ino <= t1.Ino
GROUP BY
    t1.DOC,
    t1.Type
ORDER BY 1, 3
Copier après la connexion

Cette requête renvoie le résultat suivant :

DOC Type Ino Seq
3a 1800xxc1 1
3a 1700xxc4 2
3a 1800xxc5 3
3a 1800xxc6 4
3b 1810xxc2 1
3b 1800xxc7 2
3c 1700xxc3 1

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal