Ok, donc il est plus facile de donner un exemple et nous espérons que certains a une solution:Utilisation de SQL pour obtenir des lignes distinctes, mais aussi toute la ligne pour les
Je table qui contient des offres:
ID | companyID | userID | contractID | bidAmount | dateAdded
Voici un exemple ensemble de lignes qui pourraient être dans le tableau:
ID | companyID | userID | contractID | bidAmount | dateAdded
--------------------------------------------------------------
10 | 2 | 1 | 94 | 1.50 | 1309933407
9 | 2 | 1 | 95 | 1.99 | 1309933397
8 | 2 | 1 | 96 | 1.99 | 1309933394
11 | 103 | 1210 | 96 | 1.98 | 1309947237
12 | 2 | 1 | 96 | 1.97 | 1309947252
Ok, donc ce que je voudrais faire est d'être en mesure d'obtenir toutes les informations (comme en utilisant * dans une instruction select normale) offre la plus basse pour chaque uni que contractID.
donc je besoin des lignes suivantes:
ID = 10 (for contractID = 94)
ID = 9 (for contractID - 95)
ID = 12 (for contractID = 96)
Je veux ignorer tous les autres. J'ai pensé à utiliser DISTINCT, mais je n'ai pas été capable de l'obtenir pour retourner toutes les colonnes, seulement la colonne que j'utilise pour distinct.
Quelqu'un a-t-il des suggestions?
Merci, Jeff
Votre incroyable :) Merci beaucoup! – jefffan24
Au lieu d'en faire une sous-requête corrélée, il suffit de faire un 'MIN (BidAmount) GROUP BY ContractID' – JNK
Cela ne retournera pas les autres colonnes comme' userID' etc, n'est-ce pas? –