Maison > base de données > tutoriel mysql > Comment puis-je répliquer « ROW_NUMBER() OVER (PARTITION BY ...) » de SQL dans MS Access ?

Comment puis-je répliquer « ROW_NUMBER() OVER (PARTITION BY ...) » de SQL dans MS Access ?

DDD
Libérer: 2024-12-17 02:16:25
original
148 Les gens l'ont consulté

How Can I Replicate SQL's

Implémentation du « Numéro de ligne sur la partition par » dans MS Access

Dans MS Access, réalisation de la fonctionnalité « Numéro de ligne sur la partition par " La fonction nécessite une approche alternative. Une méthode consiste à effectuer une auto-jointure inégale sur la table en question.

Exemple :

Considérez le tableau suivant, [MyData] :

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

Pour imiter la fonction « Numéro de ligne sur partition par » dans ce cas, nous pouvons utiliser ce qui suit requête :

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 récupère le numéro de séquence de chaque ligne de chaque partition définie par la colonne [DOC]. Le résultat ressemblera à :

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