我想获取包括本周在内的过去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周。我不知道为什么这会显示我4月5日,4月22日,4月15日以及4月8日和7日的记录。我在想下面的事情
这是一周一周的最后4周的正确结果吗?我认为它应该像4月5日那样,
4 may
4-7 = 28 april
4-14days = 21 april
and then 14 april
and last 7 april
??
我需要将此输出放在图表中以显示上周的统计数据......任何帮助都会非常感激。
提前致谢!
答案 0 :(得分:0)
你获取确切的日期,好像你想要获取一周:
SELECT COUNT(distinct ip ) AS uni, (
date_added
) AS wday, WEEK( FROM_UNIXTIME( date_added ) ) AS cusotms
答案 1 :(得分:0)
以下是解决方案:
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
希望它有所帮助:)