我正在尝试过滤SQL数据库.
每行代表一个用户,我关注的主要栏目标题为last_visited,格式为... 2009-06-17 12:15:32.
有多少用户在最后一天/周/月访问过?
像:
SELECT COUNT(*) AS USERS_TODAY
FROM parts_users
Where updated_at > (NOW()-7)
Run Code Online (Sandbox Code Playgroud)
列文本或日期时间也是如此?如果是前者:
SELECT COUNT(*) AS USERS_TODAY
FROM parts_users
WHERE CONVERT(datetime, updated_at, 120) > DATEADD(day, -7, GETDATE())
Run Code Online (Sandbox Code Playgroud)
如果是后者,则省略CONVERT.
或者,你可能会发现这样的东西很有用:
SELECT CONVERT(datetime, LEFT(updated_at, 10), 120) AS DATE_ONLY,
COUNT(*) AS USERS_TODAY
FROM parts_users
WHERE CONVERT(datetime, updated_at, 120) > DATEADD(day, -7, GETDATE())
GROUP BY CONVERT(datetime, LEFT(updated_at, 10), 120)
Run Code Online (Sandbox Code Playgroud)