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中添加每天的小时数,我以前没有进入你的计算方法,请检查编辑