Si je le tableau suivant:requête pour obtenir des valeurs distinctes uniquement sur le groupe de colonnes
Table name: FOO
ID | NUMBER | EVENT | NAME | CAR
1 | 12 | OFFER | Adam | VW
2 | 13 | ORDER | Adam | VW
3 | 11 | OFFER | Adam | BMW
4 | 12 | OFFER | Adam | BMW
5 | 3 | OFFER | Adam | BMW
6 | 1 | ORDER | Mark | Mercedes
7 | 1 | ORDER | Mark | BMW
La requête doit retourner
Result name: FOO
ID | NUMBER | EVENT | NAME | CAR
2 | 13 | ORDER | Adam | VW
4 | 12 | OFFER | Adam | BMW
6 | 1 | ORDER | Mark | Mercedes
7 | 1 | ORDER | Mark | BMW
Les règles suivantes:
- Get the records which have DISTINCT NAME AND CAR
- If more than one record with the same NAME AND CAR exists, get the one with MAX NUMBER
- ID, NUMBER, EVENT should not count towards the DISTINCT row rule
La plate-forme DB est DB2, mais tout SQL est bon, à ce stade, tant que c'est du SQL pur. Je n'arrive pas à obtenir la règle DISTINCT pour s'appliquer uniquement à (NAME, CAR), sur toute la ligne, et s'il y a plusieurs lignes avec la même (NAME, CAR), obtenir la ligne avec le plus haut NUMBER .
Merci beaucoup, vous êtes venu avec elle si vite ... !!!! Va marquer comme une réponse acceptée dans quelques minutes, quand elle me permet –
@Wilhelm Sorban si la performance est importante assurez-vous de faire un test de performance entre les solutions – MichaelTiefenbacher
Je le ferai certainement! :) Mais comme je l'ai mentionné dans le PO, j'avais besoin d'un SQL pur, qui fonctionnerait dans la plupart des technologies de base de données. –