/ / sql somme et groupe en donnant plus d'une ligne - mysql, sql

sql sum et grouper en donnant plus d'une ligne - mysql, sql

J'utilise cette requête pour obtenir une valeur totale unique:

SELECT SUM(`contact_awards`.`amount`) AS amount
FROM (`contact_awards`)
WHERE
`contact_awards`.`gift_award_id` IN (1)
AND `created` BETWEEN "2013-05-05" AND "2014-04-01"
GROUP
BY `contact_awards`.`amount`

Cependant, lors de son exécution, il produit deux lignes contenant amount champ:

500
1000

Pourquoi ça ne marche pas avec une seule ligne 1500 ?

Merci de votre aide

Réponses:

3 pour la réponse № 1

retirer le GROUP BY clause,

SELECT SUM(contact_awards.amount) AS amount
FROM   contact_awards
WHERE  contact_awards.gift_award_id IN (1)
AND created BETWEEN "2013-05-05" AND "2014-04-01"

la raison pour laquelle vous obtenez deux enregistrements est parce qu'il y a deux valeurs différentes de contact_awards.amount être groupé.


2 pour la réponse № 2

Lorsque vous utilisez group by, les résultats vont être séparés par votre clause de regroupement. SI vous voulez une seule ligne résumée, retirez simplement le group by à la fin de votre requête.