这是为了统计过去一天内有多少人访问过。我还想包括最近一周和一年中访问过的用户数,并在不进行3个单独查询的情况下将其全部输出。
SELECT COUNT(updated_at) AS 'TODAY'
FROM parts_development.page_views p
WHERE updated_at >= DATE_SUB(NOW(),INTERVAL 1 day)
GROUP BY parts_user_id;
Run Code Online (Sandbox Code Playgroud)
SELECT DAY(updated_at), WEEK(updated_at), COUNT(*) AS visits
FROM parts_development.page_views p
WHERE updated_at >= DATE_SUB(NOW(),INTERVAL 1 year)
GROUP BY
DAY(updated_at), WEEK(updated_at) WITH ROLLUP
Run Code Online (Sandbox Code Playgroud)
这将计算一年内的访问次数,按天、周和总数进行分组。
如果您只想在三列中选择一天、一周和一年的访问次数,请使用以下命令:
SELECT (
SELECT COUNT(*)
FROM parts_development.page_views p
WHERE updated_at >= DATE_SUB(NOW(),INTERVAL 1 DAY)
) AS last_day,
(
SELECT COUNT(*)
FROM parts_development.page_views p
WHERE updated_at >= DATE_SUB(NOW(),INTERVAL 7 DAY)
) AS last_week,
(
SELECT COUNT(*)
FROM parts_development.page_views p
WHERE updated_at >= DATE_SUB(NOW(),INTERVAL 1 YEAR)
) AS last_year
Run Code Online (Sandbox Code Playgroud)