这是一个疯狂的问题,但基本上我们需要标记与条件匹配的第一行,而不是其余的,例如,我们有所有用户每日登录的历史记录,但每个月我们都希望显示特定日期之前的登录,例如:
UserId LoginDate
1 2011-12-31
2 2012-12-31
1 2012-01-01
2 2012-01-02
1 2012-01-02
2 2012-01-03
ETC....
我们想要一个 SQL 查询,它将返回每个月的第一个登录名,结果集中类似于:
UserId LoginDate WasFirstLoginOfMonth
1 2011-12-31 0
2 2012-12-31 0
1 2012-01-01 1
2 2012-01-02 1
1 2012-01-02 0
2 2012-01-03 0
ETC....
我知道这似乎是一个疯狂的要求,但我们需要知道哪个登录满足特定的日期条件,但只有一个可以,其余的不能。
有没有什么办法可以做到这一点,而无需对每一行进行缓慢的子选择以查看它是否是第一行?
非常感谢您的帮助。