Bonjour,
J'ai le problème suivant : voici un exemple de table:
ID, CLE1,CLE2,CLE3
Dans cette table, nous pouvons trouver plusieurs fois les même ID,CLE1,CLE2,CLE3.
Il s'agit de compter par ID et par CLE1+CLE2+CLE3 (le rupture doit se faire sur la concaténation de ces champs) et de ne retenir que les plus grandes sommes (d'où le comptage à faire) et dont Rank <2, en incluant les doublons.
Je pense qu'il faut utiliser un count(), un order by et un rank() mais pour la syntaxe exacte ???
Merci de votre aide et bon week-end.
Voici un exemple :
Exemple de table
ID CLE1 CLE2 CLE3
A UN UN UN
A UN UN UN
B UN UN DEUX
B UN UN TROIS
C DEUX DEUX UN
C DEUX DEUX UN
C DEUX TROIS UN
D UN DEUX UN
D UN DEUX UN
D UN DEUX UN
E UN UN UN
E UN UN UN
Résultat du count()
A UN-UN-UN 2
B UN-UN-DEUX 1
B UN-UN-TROIS 1
C DEUX-DEUX-UN 2
C DEUX-TROIS-UN 1
D UN-DEUX-UN 3
E UN-UN-UN 2
Ce que je souhaite
D UN-DEUX-UN 3
A UN-UN-UN 2
C DEUX-DEUX-UN 2
E UN-UN-UN 2
Partager