Selectionner 3 premières valeurs d'une table en fonction d'une catégorie
1 réponse
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
......
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 .......
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.
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
.......
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.
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 .......
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.