Вычисление разницы с предыдущей записью

Могу я попросить вашей помощи со следующим, пожалуйста?

Я пытаюсь рассчитать изменение от одной записи к следующей в мои результаты. Возможно, поможет, если я покажу вам свой текущий запрос и результаты ...

SELECT A.AuditDate, COUNT(A.NickName) as [TAccounts],
       SUM(IIF((A.CurrGBP > 100 OR A.CurrUSD > 100), 1, 0)) as [Funded]
FROM Audits A
GROUP BY A.AuditDate;

Запрос дает мне эти результаты ...

AuditDate D/M/Y         TAccounts     Funded                    
--------------------------------------------
30/12/2011              506           285
04/01/2012              514           287
05/01/2012              514           288
06/01/2012              516           288
09/01/2012              520           289
10/01/2012              522           289
11/01/2012              523           290
12/01/2012              524           290
13/01/2012              526           291
17/01/2012              531           292
18/01/2012              532           292
19/01/2012              533           293
20/01/2012              537           295

В идеале результаты, которые я хотел бы получить, были бы похожи на следующие ...

AuditDate D/M/Y         TAccounts     TChange   Funded           FChange
------------------------------------------------------------------------
30/12/2011              506           0         285              0
04/01/2012              514           8         287              2
05/01/2012              514           0         288              1
06/01/2012              516           2         288              0
09/01/2012              520           4         289              1
10/01/2012              522           2         289              0
11/01/2012              523           1         290              1
12/01/2012              524           1         290              0
13/01/2012              526           2         291              1
17/01/2012              531           5         292              1
18/01/2012              532           1         292              0
19/01/2012              533           1         293              1
20/01/2012              537           4         295              2 

Если посмотреть на строку для «17.01.2012», «TChange» имеет значение 5, поскольку «TAccounts» увеличилось с предыдущих 526 до 531. А «FChange» будет основываться на «Финансируемом». поле. Я думаю, что нужно знать, что предыдущая строка в этом примере датирована «13.01.2012». Я имею в виду, что бывают дни, когда у меня нет данных (например, по выходным).

Я думаю, мне нужно использовать SubQuery, но я действительно пытаюсь понять, с чего начать. Не могли бы вы показать мне, как получить нужные мне результаты?

Я использую MS Access 2010

Большое спасибо за ваше время.

Джонни.

6
задан Johnny 22 January 2012 в 14:55
поделиться