Bonjours à tous.
Je voudrais récupérer dans ma requête le champ qui apparait le plus de fois. Je pense qu'il faut utiliser la clause having couplé à un case.
Voici un exemple sur le résultat de ma requête.
Et voici ce que je voudrais récupérer :ID_L | ID_O | ID_B
71 36 2
72 36 3
73 36 3
75 35 3
78 23 2
79 23 2
80 36 4
81 23 4
Voici une requête que j'ai fait mais a la place de ID_O c'est IS_D et IS_D ne peut avoir que 2 valeurs 0 ou 1. Ce qui n'est plus le cas.ID_B | ID_O
2 23
3 36
4 NULL
Merci de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT B.ID, (case when COUNT(case when L.IS_D = 1 then 1 else null end) > COUNT(case when L.IS_D = 0 then 1 else null end) then 'DEF' when COUNT(case when L.IS_D = 1 then 1 else null end) = COUNT(case when L.IS_D = 0 then 1 else null end) then 'NULL' else 'DEM' end) FROM L JOIN B ON L.ID_B = B.ID GROUP BY B.ID
Partager