如何从查询按周分组的图表中优化获取MySQL数据

时间:2017-02-03 22:23:13

标签: php mysql date

My Mysql的表结构如下:

表名: visitor_sessions_data


------------------------------
date_time           | visitor_sessions
------------------------------
2016-12-01 14:00:00 | 2
------------------------------
2016-12-01 18:50:10 | 1
------------------------------
2016-12-19 06:00:00 | 1
------------------------------
2016-12-20 16:00:00 | 1
------------------------------
2017-02-02 19:00:00 | 3
------------------------------

依旧......

我想获取数据,以每日,每周和每月的顺序显示在图表中。

如果显示每日数据,我可以轻松获取要在图表中呈现的数据。 为此,我写道:

SELECT date('date_time'), visitor_sessions 
FROM visitor_sessions_data 
WHERE (date('date_time')>='2016-12-01') AND (date('date_time')<='2017-02-10') 
GROUP BY date('date_time')

所以这给了我按每个日期分组的数据计数。

我根据自己的想法计算每周数据时遇到的问题。 我实际上无法构建用于从此表中获取每周数据的优化逻辑。

我的要求是以下列方式提供图表数据:

Week 1: 3,
Week 2: 2,
Week 3: 0,
Week 4: 0,
Week 5: 0,
....
Week X: 3,

请注意:这里的第1周意味着它应该开始计算第1周的第一个日期(我在mysql中提供),一周从星期一开始

我尝试使用这个sql,但它只是分组并显示数据存在数周的记录,并且没有显示数周 visitor_sessions 的数据:

SELECT DATE_FORMAT(payment_added,'%X-%V'), visitor_sessions 
FROM visitor_sessions_data 
WHERE (date('date_time')>='2016-12-01') AND (date('date_time')<='2017-02-10') 
GROUP BY DATE_FORMAT(payment_added,'%X-%V')

请帮忙。

感谢。

我也寻求你帮助构建查询以获取分组数据 - 每月 - 每季度 - 每年

0 个答案:

没有答案