我有一个表student\u last\u login,其中包含了关于学生上次登录的数据。
ID STUDENT_ID DATE TIME
1 A 2020-02-01 12:00 15 MIN
2 B 2020-02-02 12:00 45 MIN
3 C 2020-02-03 12:00 25 MIN
此外,还有学生登录表,其中包含有关学生所有登录的数据。
ID STUDENT_ID DATE TIME
1 A 2020-02-01 12:00 15 MIN
4 A 2020-01-01 14:00 33 MIN
2 B 2020-02-02 12:00 45 MIN
5 B 2020-01-02 13:30 47 MIN
10 B 2020-01-03 13:30 27 MIN
6 B 2020-01-02 10:00 44 MIN
3 C 2020-02-03 12:00 25 MIN
7 C 2020-01-03 10:00 12 MIN
8 C 2020-01-03 18:00 56 MIN
9 C 2020-01-04 12:00 88 MIN
因此,我需要得到这样的东西:
STUDENT_ID LAST_LOGIN LAST_LOGIN_ONE_MONTH_AGO TIME TIME_ONE_MONTH_AGO
A 2020-02-01 12:00 2020-01-01 14:00 15 min 33 min
B 2020-02-02 12:00 2020-01-02 13:30 15 min 47 min
C 2020-02-03 12:00 2020-01-03 18:00 25 min 56 min
你能帮我写这个吗?
3条答案
按热度按时间6rqinv9w1#
你需要这样写你的查询。
xvw2m8pv2#
您需要按如下方式使用windows函数:
8ljdwjyq3#
我只能推测,你想要的是最近的登录,然后是前一个日历月的最新登录。我建议条件聚合:
我认为这会返回您指定的值。