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