这是我的签到记录表:
SELECT TOP 1000 [ID]
,[UserID]/用户ID/
,[SignDate]/签到时间/
,[Points]/所得积分/
FROM [MovieDB].[dbo].[SignLog]
我想查询出连续签到天数,怎么写sql语句呢?
比如今天是2023-11-23号,那么查询下面的数据的话
ID UserID SignDate Points
1 1 2023-11-20 11:22:22 2
2 1 2023-11-21 11:22:22 2
3 1 2023-11-22 11:22:22 2
userid为1的用户连续签到天数就是3
如果数据是这样的
ID UserID SignDate Points
1 1 2023-11-20 11:22:22 2
2 1 2023-11-21 11:22:22 2
3 1 2023-11-22 11:22:22 2
4 1 2023-11-23 11:22:22 2
userID为1的用户连续签到天数就是4
如果数据是这样的
ID UserID SignDate Points
1 1 2023-11-19 11:22:22 2
2 1 2023-11-20 11:22:22 2
3 1 2023-11-21 11:22:22 2
4 1 2023-11-23 11:22:22 2
userID为1的用户连续签到天数就是1,因为22没有签到,只算23号
如果数据是这样的
ID UserID SignDate Points
1 1 2023-11-18 11:22:22 2
2 1 2023-11-19 11:22:22 2
3 1 2023-11-20 11:22:22 2
4 1 2023-11-21 11:22:22 2
userID为1的用户连续签到天数就是0,因为22和23没有签到
请问这么写查询sql呢,或者用lambda表达式实现也可以。