首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为这个需求编写mysql查询?

如何为这个需求编写mysql查询?
EN

Stack Overflow用户
提问于 2019-11-18 05:29:25
回答 4查看 46关注 0票数 0

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

我想知道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。有人请帮帮我。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-11-18 05:33:32

您需要首先选择DISTINCT值,然后选择COUNTSUM值:

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2019-11-18 05:33:25

您可以在下面尝试-使用子查询

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2019-11-18 05:33:29

您可以尝试在这里聚合两次:

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58908465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档