Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Selectionner 3 premières valeurs d'une table en fonction d'une catégorie

1 réponse
Avatar
boogie
Bonjour, tout est dans le titre .... Comment via une requete en access
selectionner les 3 premi=E8res valeurs d'une table en fonction de chaque
cat=E9gorie.

Rmq : la m=E9thode SQL Top 3 ne fonctionne pas car celle-ci reprend les
3 top valeurs de la table et non par cat=E9gorie.....

Ex Table

Enregistrement 1 Cat=E9gorie A ValeurA
Enregistrement 2 Cat=E9gorie B ValeurB
......

R=E9sultat requete

Enregistrement A1 Cat=E9gorieA 1valeurCatA
Enregistrement A2 Cat=E9gorieA 2valeur...
Enregistrement A3 Cat=E9gorieA 3valeur...
Enregistrement B1 Cat=E9gorieB 1valeurCatB
Enregistrement B2 Cat=E9gorieB ...
Enregistrement B3 Cat=E9gorieB ...


Merci pour votre aide

1 réponse

Avatar
Michel__D
Bonjour,

boogie a écrit :
Bonjour, tout est dans le titre .... Comment via une requete en access
selectionner les 3 premières valeurs d'une table en fonction de chaque
catégorie.

Rmq : la méthode SQL Top 3 ne fonctionne pas car celle-ci reprend les
3 top valeurs de la table et non par catégorie.....

Ex Table

Enregistrement 1 Catégorie A ValeurA
Enregistrement 2 Catégorie B ValeurB
.......

Résultat requete

Enregistrement A1 CatégorieA 1valeurCatA
Enregistrement A2 CatégorieA 2valeur...
Enregistrement A3 CatégorieA 3valeur...
Enregistrement B1 CatégorieB 1valeurCatB
Enregistrement B2 CatégorieB ...
Enregistrement B3 CatégorieB ...


Merci pour votre aide



Tu peux par exemple énumérer/compter combien tu as d'enregistrement par
Catégorie ensuite tu prends les 3 premiers.

SELECT T1.Enregistrement, T1.[Catégorie], T1.ValeurCat, Count(T1.ValeurCat) AS Nb
FROM LaTable AS T1 INNER JOIN LaTable AS T2 ON T1.[Catégorie]=T2.[Catégorie]
And T1.Enregistrement>=T2.Enregistrement
GROUP BY T1.Enregistrement, T1.[Catégorie], T1.ValeurCat;

SELECT T1.Enregistrement, T1.[Catégorie], T1.ValeurCat
FROM LaRequetePrecedente AS T1
WHERE T1.Nb < 4;

PS:A adapter, mais il faut surtout trouver comment évaluer la progression.