Ajouter le nombre de résultat dans une ligne
RésoluKanodai -
Bonjour,
Je souhaite faire une requête qui contient le nombre d’occurrence d'une valeur de la ligne dans la ligne.
Avec un exemple ce sera plus simple.
Imaginons une table avec les colonnes Prénom, Age et Activité et les données suivantes :
Prenom Age Activite
Anne 25 foot
Bastien 26 basket
Bastien 52 basket
Marc 27 course
Marc 30 cuisine
Marc 30 tricot
Marc 31 jeux vidéo
Et bien j'aimerai un retour comme suis :
Prenom Age Occurrence
Anne 25 1
Bastien 26 2
Bastien 52 2
Marc 27 3
Marc 30 3
Marc 31 3
La colonne "Occurrence" correspond au nombre de fois que le prénom est présent dans la table sans prendre en compte l'activité ("Marc 30 cuisine" et "Marc 30 tricot" ne sont pas différenciés par contre "Bastien 26 basket" et "Bastien 52 basket" sont bien différenciés car ils n'ont pas le même âge)
Auriez vous une solution ?
Windows / Firefox 104.0
2 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
peut-être
SELECT DISTINCT t.prenom, t.age, dp.np FROM tt AS t, (select prenom, count(*) as np from (select distinct prenom, age from tt) as d group by prenom) AS dp WHERE (((t.prenom)=[d].[prenom])); -
à ceci près que le where peut être remplacer par une clause inner join
Je pense qu'on tiens la solution, merci :)