2010-09-10 19 views
2

Pas un gars SQL, donc je suis dans une impasse, donc je vais garder ce simpleMySQL Somme un champ basé sur un second champ « commun »

+--------------+------------------------+ 
| RepaymentDay | MonthlyRepaymentAmount | 
+--------------+------------------------+ 
|   3 |    0.214847 | 
|   26 |    0.219357 | 
|   24 |    0.224337 | 
|   5 |    0.224337 | 
|   18 |    0.224337 | 
|   28 |    0.214847 | 
|   1 |    0.224337 | 
|   28 |    0.327079 | 
+--------------+------------------------+ 

Je cherche une requête qui alors donnez quelque chose comme;

+--------------+------------------------+ 
| RepaymentDay | MonthlyRepaymentAmount | 
+--------------+------------------------+ 
|   1 |    0.224337 | 
|   3 |    0.214847 | 
|   5 |    0.224337 | 
|   18 |    0.224337 | 
|   24 |    0.224337 | 
|   26 |    0.219357 | 
|   28 |    0.541926 | 
+--------------+------------------------+ 

i.e. Là où il y a plusieurs enregistrements avec la même valeur de « RepaymentDay », pour résumer les valeurs de « MonthlyRepaymentAmount ».

Je pourrais le faire en externe avec perl ou python, pas de problème, mais je veux essayer de me familiariser avec SQL. Des idées?

+0

Je ne me soucie pas vraiment du tri, c'est assez simple – Bolster

Répondre

6
SELECT RepaymentDay, SUM(MonthlyRepaymentAmount) AS MonthlyRepaymentAmount 
FROM YourTable 
GROUP BY RepaymentDay 
ORDER BY RepaymentDay 
+0

Je ne pense pas que vous ayez besoin de l'ORDER BY dans MySQL - c'est fait automatiquement. +1 pour une réponse rapide cependant. –

+0

@Mark - Merci. Je ne le savais pas à propos de MySQL. –

+0

merci pour la réponse rapide, maintenant si seulement les autorisations de coche étaient aussi rapides! – Bolster

1

sélectionnez RepaymentDay, sum (MonthlyRepaymentAmount) à partir du groupe nom_table par RepaymentDay;

+0

Martin est plus propre avec le renommage du groupe et la commande explicite. – Jeremy