2010-10-05 6 views
2

Hé ... Je suis dans une impasse ici. Je ne suis pas un programmeur, mais le gars qui fait le sql dans mon entreprise est malade.Problème SQL simple

Si j'ai une table comme celle-ci (je simplifie beaucoup mais c'est là que je suis coincé).

Name Object Payment 

Joe A   100 
Jan A   200 
Joe A   300 
Ron A   500 
Jan A   100 
Joe B   200 

Comment puis-je écrire une requête qui me donnerait:

Joe A 300 
Jan A 200 
Ron A 500 
Joe B 200 

Essentiellement, la valeur la plus élevée dans le domaine de paiement pour chaque nom. Merci. Désolé si j'ai l'air bête ... mais je ne peux pas trouver quelque chose sur internet pour m'aider.

Répondre

4
select Name, Object, max(Payment) 
from table 
group by Name, Object 
10
select Name, Object, max(Payment) as MaxPayment 
from MyTable 
group by Name, Object 
+0

Désolé ... j'ai fait un changement à ma question. Bonne réponse cependant. Désolé ... im un tel noob. – user466334

+0

@ user466334: J'ai révisé ma réponse en conséquence. – RedFilter

+0

Le pistolet le plus rapide ... SO est injuste et c'est une excellente nouvelle. –

4

Essayez:

SELECT Name, Object, MAX(Payment) 
FROM MyTable 
GROUP BY Name, Object