0
votes

Comment écrire une requête MySQL pour cette exigence?

J'ai une table comme ci-dessous.

 Entrez la description de l'image ici

Je veux obtenir le nombre total de livres donnés par donation_organization_group et distincts par donation_plgedge.

J'ai écrit la requête SQL comme ci-dessous.

Sélectionner le compte (donation_nays distinct), somme (donation_no_of_books distincte) de e25_donations où donation_organization_group = "4-h club"

Par cette requête, je reçois le résultat comme 6 | 1248, dans ce résultat 96, 72 saute, mais je veux sauter uniquement le gage répété. Je veux obtenir le total de 72 + 120 + 96 + 96 + 960 +72. Quelqu'un s'il vous plaît aidez-moi.


0 commentaires

4 Réponses :


1
votes

Vous pouvez essayer ci-dessous - à l'aide d'une sous-requête

select count(donation_pledge),sum(donation_no_of_books)
from
(
select DISTINCT donation_pledge, donation_no_of_books
from e25_donations 
WHERE donation_organization_group ="4-H Club"
)A


1 commentaires

Merci de votre réponse, je veux obtenir le nombre total de clubs a participé à la donation aussi.can vous s'il vous plaît aidez-moi s'il vous plaît. Shere 4 clubs ont participé



1
votes

Vous pouvez essayer d'agréger deux fois ici:

SELECT
    donation_organization_group,
    SUM(nb) AS num_distinct_books
FROM
(
    SELECT donation_organization_group, donation_pledge, MAX(donation_no_of_books) AS nb
    FROM e25_donations
    WHERE donation_organization_group = '4-H Club'
    GROUP BY donation_organization_group, donation_pledge
) t;


1 commentaires

Merci, je ne veux pas obtenir le donation_organization_group.



1
votes

Vous devez d'abord sélectionner les valeurs distinctes , puis comptez et somme : xxx


1 commentaires

@Mujahidh J'ai modifié ma requête pour vous donner le comte des clubs distincts.



0
votes

Je suppose que vous pouvez essayer ce xxx


0 commentaires