使用PHP将时间戳与MYSQL中的日期匹配

Aka*_*mar 2 mysql sql select group-by date

我有一张桌子

id user     Visitor timestamp
13 username abc     2014-01-16 15:01:44
Run Code Online (Sandbox Code Playgroud)

我必须按日期(不是时间戳)"计算"过去七天"用户"的总访问者数

SELECT count(*) from tableA WHERE user=username GROUPBY __How to do it__ LIMIT for last seven day from today.
Run Code Online (Sandbox Code Playgroud)

如果任何一天没有访问者这样,那么就不会有行,所以它应该显示为0.

什么是正确的QUERY?

Bli*_*itZ 6

无需GROUP BY结果集,您需要计算一周的访问次数(使用未指定的用户).试试这个:

SELECT
    COUNT(*)
FROM
    `table`
WHERE
    `timestamp` >= (NOW() - INTERVAL 7 DAY);
Run Code Online (Sandbox Code Playgroud)

如果您需要跟踪指定用户的访问次数,请尝试以下操作:

SELECT
    DATE(`timestamp`) as `date`,
    COUNT(*) as `count`
FROM
    `table`
WHERE
    (`timestamp` >= (NOW() - INTERVAL 7 DAY))
    AND
    (`user` = 'username')
GROUP BY
    `date`;
Run Code Online (Sandbox Code Playgroud)

MySQL DATE()函数参考.