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')
请帮忙。
感谢。
我也寻求你帮助构建查询以获取分组数据 - 每月 - 每季度 - 每年