如何显示每个用户的最新日期,以及如果前一个和最后一个日期之间的datediff <7

问题描述 投票:1回答:2

我有下面的表格结构

UserID | Date
1        2020-01-01
1        2020-01-02
1        2020-01-03
1        2020-02-05
1        2020-02-06
1        2020-03-08
1        2020-03-09
2        2020-02-03
2        2020-02-05
2        2020-02-06
3        2020-02-12
3        2020-02-13
3        2020-03-25
3        2020-03-26

所需结果:

UserID | Date
1       2020-03-08
1       2020-03-09
2       2020-02-03
2       2020-02-05
2       2020-02-06
3       2020-03-25
3       2020-03-26

因此,我需要显示每个用户的最新日期,并且如果前一个和最后一个日期之间的datediff <7,则应隐藏行>

感谢您的帮助

我具有下面的表结构UserID |日期1 2020-01-01 1 2020-01-02 1 2020-01-03 1 2020-02-05 1 2020-02-06 1 2020-03-08 1 2020-03-09 2 2020-02- .. 。

sql sql-server tsql greatest-n-per-group
2个回答
1
投票

我了解您希望每位用户获得最近7天的数据。如果是这样,您可以使用窗口功能:


0
投票

我可以想到使用如下所述的两个With子句语句。

© www.soinside.com 2019 - 2024. All rights reserved.