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
205 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!

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