我有下表:
User
-------------------
id BIGINT
name text
Session
-------------------
id BIGINT
username text
last_login datetime
并且想要获取总用户数,以及从今天起上次登录的 session 的用户数。我如何对查询建模?
最佳答案
让我假设您将 session 表修复为具有 userId
而不是 userName
。那么你的答案取决于数据库。总体思路是这样的:
select count(distinct u.id) as user_count, -- including those with no sessions
sum(case when cast(last_login as date) = CURRENT_DATE
from users u left join
sessions s
on u.id = s.userId ;
这是逻辑的草图。从日期/时间值中删除时间部分因数据库而异。表示当前日期的方式因数据库而异。
关于mysql - SQL - 选择各种计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42698250/