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?
无需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)