SELECT u.user_id,
u.login_datetime,
u.logout_datetime,
coalesce(count(f.id), 0) total_files_uploaded
FROM user_metrics u
LEFT JOIN files_uploaded f
ON u.user_id = f.user_id
AND f.file_uploaded_datetime BETWEEN u.login_datetime AND u.logout_datetime
GROUP BY u.user_id, u.login_datetime, u.logout_datetime;
输出:
用户id
|
登录日期时间
|
注销日期时间
|
上传的文件总数
|
1.
|
2022-05-04 00:25:16
|
2022-05-04 00:30:16
|
1.
|
3.
|
2022-05-04 10:29:16
|
|
1.
|
1.
|
2022-05-04 11:48:16
|
2022-05-04 11:49:56
|
1.
|
3.
|
2022-05-04 11:58:16
|
2022-05-04 12:20:16
|
3.
|
1.
|
|
2022-05-04 17:29:56
|
4.
|
如果用户在登录期间未上载任何文件,则显示0。如果不想为未上载任何文件的用户显示条目,可以用内部联接替换左侧联接,并删除
coalesce
.