Ajouter le nombre de résultat dans une ligne

Résolu
Kanodai -  
 Kanodai -

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

A voir également:

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 

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]));
1
Kanodai
 

Non car si on fait ça on va avoir le nombre d’occurrence du couple [Prénom - Age] et non juste du prénom

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Kanodai
 

En effet, j'ai fait une autre suggestion, que je n'ai pas encore testée.

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 

Testé (pas sous SQL server), adapté, semble ok.

0
Kanodai
 

à ceci près que le where peut être remplacer par une clause inner join

Je pense qu'on tiens la solution, merci :)

0