获取仅在一天或更长时间内重访的访问者

时间:2013-05-13 18:48:33

标签: sql

我有这个SQL查询,以便让所有访问者在首次访问后不止一次上线:

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

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

我该如何做到这一点?

提前致谢:)

2 个答案:

答案 0 :(得分:0)

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

WHERE date_lastactive > DATE_SUB(NOW(), INTERVAL 1 DAY)

答案 1 :(得分: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)`