Maison > base de données > tutoriel mysql > Comment simuler la fonctionnalité ROW_NUMBER() dans Microsoft Access ?

Comment simuler la fonctionnalité ROW_NUMBER() dans Microsoft Access ?

Patricia Arquette
Libérer: 2025-01-02 13:12:38
original
286 Les gens l'ont consulté

How to Simulate ROW_NUMBER() Functionality in Microsoft Access?

Obtention de la fonctionnalité de numéro de ligne dans MS Access

La fonction "ROW_NUMBER OVER (PARTITION BY)", couramment utilisée en SQL pour attribuer des numéros séquentiels dans les partitions d'un jeu de résultats, peut être émulé dans Microsoft Access à l'aide d'auto-jointures et agrégation.

Considérez l'ensemble de données suivant :

DOC_TYPE    Ino
3a  1800xxc1
3b  1810xxc2
3c  1700xxc3
3a  1700xxc4
3a  1800xxc5
3a  1800xxc6
3b  1800xxc7
Copier après la connexion

Pour reproduire le comportement "ROW_NUMBER", nous pouvons utiliser une requête comme celle-ci :

SELECT 
    t1.DOC_TYPE,
    t1.Ino,
    COUNT(*) AS RowNum
FROM 
    YourTable AS t1
    INNER JOIN
    YourTable AS t2
        ON t2.DOC_TYPE = t1.DOC_TYPE
            AND t2.Ino <= t1.Ino
GROUP BY
    t1.DOC_TYPE,
    t1.Ino
ORDER BY 1, 3
Copier après la connexion

Cette requête se joint automatiquement à la table sur la colonne DOC_TYPE et une comparaison inférieure ou égale des valeurs Ino. Il agrège ensuite les lignes par DOC_TYPE et Ino, en comptant les occurrences de chaque paire unique DOC_TYPE, Ino. Le nombre résultant, attribué à l'alias RowNum, représente le numéro de ligne séquentiel.

L'application de cette requête aux exemples de données produira le résultat suivant :

DOC_TYPE    Ino RowNum
3a   1800xxc1    1
3a   1700xxc4    2
3a   1800xxc5    3
3a   1800xxc6    4
3b   1810xxc2    1
3b   1800xxc7    2
3c   1700xxc3    1
Copier après la connexion

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!

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