回答

收藏

计算与以前记录的差异

技术问答 技术问答 213 人阅读 | 0 人回复 | 2023-09-14

你在以下方面有帮助吗?8 e- r8 B: b) r0 m: b
我试图从一个记录到下一个记录的变化来计算结果。如果我向你展示我目前的查询和结果,它可能会有帮助…
8 D, B& u/ y" ]+ I$ I# vSELECT A.AuditDate,COUNT(A.NickName) as [TAccounts],      SUM(IIF((A.CurrGBP > 100 OR A.CurrUSD > 100)as [Funded]FROM Audits AGROUP BY A.AuditDate;给我查询这些结果…# G: `+ r2 p$ D2 N
AuditDate D/M/Y         TAccounts     Funded                    -------------------------------------------- 30/12/20111/2011/2011/201506                                                                                           5504/01/2012012016/01201201201/2012012/201201/2012/201201/201201/201201/2012012/201201/201201/201201/201201/201201201/201201/201201201/201201/201201/201201/201201201/201201201201201201/201201201201201201201201201201201201/201201201201201/201201201201201201201201201201/201201201201/201201201201201/201/201/201201201201201201201201201/201/201/201/201/201/201/201201201/201201/201/201201/201/201/201/201/201/201/201/201/201201201201/201201201201/201/201/201/201/201/201/201/201/2012理想情况下,我想要的结果将与以下内容相似…
0 `' Z+ ^! g1 f/ z1 @AuditDate D/M/Y         TAccounts     TChange   Funded           FChange------------------------------------------------------------------------30/12/2011/201201/201201506506                                                                                                                                                                                     5                                                                                                                                                                                                                                                                                                                                                                                                    查看 2012年1月1日,因为笔数已经从526增加到531,所以 TChange FChange”将基于“
& v. b1 ^5 T9 l% dFunded字段。我想知道的是,这个例子的最后一行日期是‘13 / 01/2012’。我的意思是有几天没有数据(比如周末)。
- ?% n9 I9 G6 n/ M  g* n5 [3 G我想我需要用SubQuery,但我真的很难弄清楚从哪里开始。你能告诉我如何得到我需要的结果吗?' _( h3 W. O( o$ q& w! k$ H
我正在使用MS Access 2010: d7 V& J, ~4 @5 v0 S" S& k6 F/ _
非常感谢您宝贵的时光。
( H- q5 l1 [$ a7 e强尼
: Z: r8 l* P6 f  r3 x) R& y/ b                                                               
" Y+ W  Z% l; W* @* W0 @! h( M" f    解决方案:                                                                " c+ t: l( V# o
                                                                这是一种你可以尝试的方法…
# v" X" C, H) H0 z$ p. `SELECT B.AuditDate,B.TAccounts,   B.TAccount -     (SELECT Count(NickName) FROM Audits WHERE AuditDate=B.PrevAuditDate) as TChange,   B.Funded -     (SELECT Count(*) FROM Audits WHERE AuditDate=B.PrevAuditDate AND (CurrGBP > 100 OR CurrUSD > 100)) as FChangeFROM (SELECT A.AuditDate,   (SELECT Count(NickName) FROM Audits WHERE AuditDate=A.AuditDate) as TAccounts,   (SELECT Count(*) FROM Audits WHERE (CurrGBP > 100 OR CurrUSD > 100)) as Funded,   (SELECT Max(AuditDate) FROM Audits WHERE AuditDate而非使用GroupBy我用subquerys两全TAccounts和补贴,以及上次审计的日期,然后用于主SELECT语句获取TAccounts,再次补贴,但是这个时间之前的日期可以计算出任何要求。
7 E9 P, ~5 k& s* j  t( Y; h但我想这可能会很慢
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则