我有一张像下面这样的桌子。

我想知道donation_organization_group捐赠的图书总数和donation_pledge捐赠的图书总数。
我编写的sql查询如下所示。
从e25_donations中选择count(DISTINCT donation_pledge),sum(DISTINCT donation_no_of_books),其中
donation_organization_group="4-H俱乐部“
通过这个查询,我得到的结果是6\ 1248,在这个结果96中,72是跳过的,但是我只想跳过重复的质权词,我想得到的总数是72 + 120 + 96 + 96 + 960 +72。有人请帮帮我。
发布于 2019-11-18 05:33:32
您需要首先选择DISTINCT值,然后选择COUNT和SUM值:
select count(donation_pledge),
sum(donation_no_of_books),
count(distinct donation_organization_name)
from (select distinct donation_pledge,
donation_no_of_books,
donation_organization_name
FROM e25_donations
WHERE donation_organization_group ="4-H Club") d发布于 2019-11-18 05:33:25
您可以在下面尝试-使用子查询
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发布于 2019-11-18 05:33:29
您可以尝试在这里聚合两次:
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;https://stackoverflow.com/questions/58908465
复制相似问题