Voici un exemple de données que j'ai.Regroupement avancé sans utiliser de sous-requête
-ID- -Rank- -Type- -Status- -Amount-
1142474 2 Under Offer Approved 23
1148492 1 Present Current 56
1148492 2 Under Offer Approved 3
2273605 1 Present Current 24
Lorsque l'ID est le même, je veux seulement l'enregistrement avec le rang le plus élevé. Donc, le résultat final de la requête.
-ID- -Rank- -Type- -Status- -Amount-
1142474 2 Under Offer Approved 23
1148492 1 Present Current 56
2273605 1 Present Current 24
Maintenant, pour obtenir l'ensemble de données d'origine est une opération coûteuse, donc je ne pas veulent faire un groupe par l'ID puis minutes rang et rejoint ensuite en arrière sur l'ensemble de données à nouveau. Par conséquent, la requête doit faire son travail d'une autre manière.
Vive Anthony
Dans ce cas, que se trouve t2? –
@Anthony: la jointure à t2 est aussi appelée auto-jointure. C'est une autre copie de la même table. La raison pour laquelle cela fonctionne est que nous spécifions dans le prédicat (les conditions de jointure et la clause WHERE) que nous voulons exclure tout sauf l'élément le mieux classé pour chaque identifiant. – bernie
@adam: Le problème est que pour extraire les données de my_table est très cher (ie entre 2 et 6 secondes) donc je voudrais éviter de rejoindre à nouveau la table ... –