gpt4 book ai didi

sql - 以不同的方式计算客户 - 我需要子查询吗?

转载 作者:行者123 更新时间:2023-12-01 01:21:45 25 4
gpt4 key购买 nike

感谢您花时间阅读我的问题。

想象一下这样一种情况,如果客户开立账户,他们会得到一份免费礼物。一些“客户”开设账户以获得免费礼物,但从不向他们的账户添加任何资金。其他“客户”开立账户,获得免费礼物,并通过向其添加资金来为他们的账户提供资金。

我需要将资金账户与所有客户的总数进行比较。

事情起初看起来很容易……

 SELECT Audits.AuditDate, Count(Audits.NickName) AS AllAccounts
FROM Audits
Group By Audits.AuditDate

这显然给了我每天所有帐户的计数。

为了获得“资助”的计数,我确实......
 SELECT Audits.AuditDate, Count(Audits.NickName) AS Funded
FROM Audits
WHERE Audits.CurrGBP > 0
GROUP BY Audits.AuditDate;

这次我得到了“Funded”账户的数量。

现在,这就是我卡住的地方……我想要来自同一个查询的两个计数,所以我的结果会是这样的……
AuditDate (DD/MM/YYYY)      AllAccounts Funded
01/01/2012 50 45
02/01/2012 60 50
03/01/2012 70 55

有些东西告诉我我需要使用子查询,但在谷歌搜索了几页之后。子查询让我感到困惑。

请问可以帮忙吗?你能告诉我如何编写一个子查询来给我我需要的结果。

问候,
约翰。

PS - 我的审计表有以下字段:Audit_ID、Audit_Date、NickName、CurrGBP,我使用的是 MS Access 2010。

最佳答案

不记得 Access 是否支持案例;或者如果 IIF 是要走的路......但像......

子查询并不是真正需要的,您可以在一个查询中获得结果,只需在使用案例或 IIF 时限制您的计数。

Select A.AuditDate,
count (A.NickName) as AllAccounts,
sum(CASE when A.CurrGBP > 0 then 1 else 0 end) as Funded
FROM Audits A
GROUP BY A.AuditDate

如果 IIF
Select A.AuditDate,
count (A.NickName) as AllAccounts,
sum(IIF(A.CurrGBP >0,1,0)) as Funded
FROM Audits A
GROUP BY A.AuditDate

编辑,在选择中缺少一些逗号。

关于sql - 以不同的方式计算客户 - 我需要子查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8770349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com