为了账号安全,请及时绑定邮箱和手机立即绑定

连续行之间的日期差

连续行之间的日期差

慕斯709654 2019-12-26 09:53:13
我有一个具有以下结构的表ID     Account Number     Date1      1001               10/9/2011 (dd/mm/yyyy)2      2001               1/9/2011 (dd/mm/yyyy)3      2001               3/9/2011 (dd/mm/yyyy)4      1001               12/9/2011 (dd/mm/yyyy)5      3001               18/9/2011 (dd/mm/yyyy)6      1001               20/9/2011 (dd/mm/yyyy)基本上我想做的是有一个访问查询,该查询计算连续记录但对于相同帐号的日期差预期结果将是!!1001      10/9/2011 - 12/9/2011     2 days1001      12/9/2011 - 20/9/2011     8 days1001      20/9/2011                 NA基本上我想做的是有一个访问查询,该查询计算连续记录但对于相同帐号的日期差,在上面的示例中为1001。(日期不必在结果中显示)我使用Access 2003。
查看完整描述

3 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

您还可以使用LAG分析功能来获得所需结果,如下所示:


假设下面是您的输入表:


id  account_number  account_date

1     1001          9/10/2011

2     2001          9/1/2011

3     2001          9/3/2011

4     1001          9/12/2011

5     3001          9/18/2011

6     1001          9/20/2011



select id,account_number,account_date,

datediff(day,lag(account_date,1) over (partition by account_number order by account_date asc),account_date)

as day_diffrence

from yourtable;

这是您的输出:


id  account_number  account_date    day_diffrence

1     1001           9/10/2011    NULL

4     1001           9/12/2011    2

6     1001           9/20/2011    8

2     2001           9/1/2011     NULL

3     2001           9/3/2011     2

5     3001           9/18/2011    NULL


查看完整回答
反对 回复 2019-12-26
  • 3 回答
  • 0 关注
  • 579 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信