0

我有这个 SQL 查询来获取自第一次访问以来多次在线的所有访问者:

SELECT COUNT(date_lastactive)
FROM visitors
WHERE date_lastactive != '0000-00-00 00:00:00'

由于其简单性,每个重访的访问者都会被列出。我不想要那个!我只想让访问者重新访问该网站一天或更长时间(2 天、3 天、5 个月、8 个月、2 年等,但低于 1 天,例如 4 小时或类似的时间)。

我怎样才能做到这一点?

提前致谢 :)

4

2 回答 2

0

您可以使用DATE_SUB执行计算以从 中减去 1 天NOW()

WHERE date_lastactive > DATE_SUB(NOW(), INTERVAL 1 DAY)
于 2013-05-13T18:50:34.960 回答
0

T-SQL(MS SQL Server 语法):

SELECT COUNT(some_visitor_id)
FROM visitors
WHERE DATEDIFF(d, date_lastactive, date_firstvisit) > 1

不是 100% 确定 FreshPrinceOfSO 正在使用的 SQL 方言,但我想它会是这样的:

SELECT COUNT(some_visitor_id)
FROM visitors
WHERE date_lastactive >= DATE_ADD(date_firstvisit, INTERVAL 1 DAY)`
于 2013-05-13T20:06:42.330 回答