Mysql:按周显示数据
我使用了这个查询Mysql:按周显示数据,mysql,Mysql,我使用了这个查询 SELECT DATE( created_date ) AS date, FLOOR( time_to_sec( timediff( MAX( created_date ) , MIN( created_date ) ) ) /3600 ) AS Hours FROM bir_jobs_tracker GROUP BY date LIMIT 0 , 30 结果是 date Hours 2015-08-25 0 2015-08-26 5
SELECT DATE( created_date ) AS date, FLOOR( time_to_sec( timediff( MAX( created_date ) , MIN( created_date ) ) ) /3600 ) AS Hours
FROM bir_jobs_tracker
GROUP BY date
LIMIT 0 , 30
结果是
date Hours
2015-08-25 0
2015-08-26 5
2015-08-27 0
2015-08-28 5
2015-09-01 2
2015-09-02 4
2015-09-15 0
2015-09-17 0
它返回按天计算的小时数,如何编辑我的查询以便按周显示它们,并在每周添加7天的小时数
需要输出
date Hours
2015-08-22 10
2015-09-01 6
尝试使用week(),它将返回日期的周数,所以您可以轻松地将周分组在一起。只是要小心在你的分组中也包括一年,否则你可能会合并不同年份的几周
SELECT WEEK(DATE( created_date ) AS date ...
编辑:
因为您需要首先按天计算,所以首先运行查询,然后根据查询结果:
SELECT WEEK(date) as week, YEAR(date) as year, SUM(hours) as hours_weekly
FROM (your_result)
GROUP BY year, week
我身边没有mysql来检查语法,但你应该明白了。可能的重复需要每周的最小和最大时间,我不想这样,我想先让它计算天的小时数,然后向他们显示我的周数,并在weekok中添加每天的小时数,我以前没有进入你的计算方法,请检查编辑