我想获取过去 4 周的结果,包括本周。 所以假设我有一个统计表,里面装满了上个月 4 月的统计数据,现在是 5 月 4 日...... 当我写这个查询时:我想吸引唯一身份访问者:
SELECT COUNT(distinct ip ) AS uni, (
date_added
) AS wday, FROM_UNIXTIME( date_added ) AS cusotms
FROM `site_stats`
WHERE FROM_UNIXTIME( date_added ) >= DATE_SUB( SYSDATE( ) , INTERVAL 4 WEEK )
GROUP BY WEEK( FROM_UNIXTIME( date_added ) )
它发现了以下结果:
uni wday cusotms
2 1333819740 2012-04-07 22:29:00
6 1333906140 2012-04-08 22:29:00
7 1334510940 2012-04-15 22:29:00
7 1335115740 2012-04-22 22:29:00
5 1336089600 2012-05-04 05:00:00
但我想要过去 4 周,包括本周。我不知道为什么这给我显示5月4日,4月22日,4月15日以及4月8日和7日的记录。我在想下面这样的事情
这是过去 4 周按周分组的正确结果吗?我在想应该是5月4日,
4 may
4-7 = 28 april
4-14days = 21 april
and then 14 april
and last 7 april
??
我需要将此输出放在图表中以显示上周的统计数据......任何帮助将不胜感激。
提前感谢!
这是解决方案:
SELECT COUNT( DISTINCT ip ) AS uni, (
date_added
) AS wday, FROM_UNIXTIME( date_added ) AS cusotms
FROM `site_stats`
WHERE FROM_UNIXTIME( date_added ) >= CURDATE( ) - INTERVAL DAYOFWEEK( CURDATE( ) ) -3WEEK
GROUP BY WEEK( FROM_UNIXTIME( date_added ) )
LIMIT 0 , 30
希望对:)有所帮助
您获取确切的日期,似乎要获取一周:
SELECT COUNT(distinct ip ) AS uni, (
date_added
) AS wday, WEEK( FROM_UNIXTIME( date_added ) ) AS cusotms