我需要在日期之间做一个算术平均值的图形(我不知道这是否是正确的单词,对不起)并得到星期一,星期二......星期日的平均小时数。一周中每天的小时数。
该表格中有log_date
列,我有一个开始日和结束日,实际上我做了:
SELECT id, log_hours FROM log WHERE log_date >= DATE('2011-01-01') AND log_date <= DATE('2011-10-31')
这将给我这两个日期之间的ID。但我不需要这个。我需要的是星期一,星期二等的媒介,以便知道每天的正常工作时间是什么。
我怎么做?我也用PHP编码
更新
我最终需要的是:
MONDAY: 3, 4, 10, 12, 5, final result => 6,8
TUESDAY: 2, 8, 8, 2, 1, final result => 4,2
WENDSDAY: 1, 1, 10, 5, 2, final result => 3,8
THURDAY 8, 10, 12, 5, 6, final result => 6,2
FRIDAY: 1, 1, 1, 1, 1, final result => 1
SATURDAY: 0, 8, 2, 0, 1, final result => 2,2
SUNDAY: 0, 0, 0, 0, 0, final result => 0
提前致谢!
答案 0 :(得分:2)
您可以使用DAYOFWEEK功能选择某一天的值。此查询将为您提供单个查询中每天log_hours的平均值:
SELECT DAYOFWEEK(log_date), AVG(log_hours) FROM log
WHERE log_date >= DATE('2011-01-01') AND log_date <= DATE('2011-10-31')
GROUP BY DAYOFWEEK(log_date)
答案 1 :(得分:1)
select AVG(columnToAverage)
, DAYOFWEEK(log_date)
from log
where log_date between '2011-01-01' AND '2011-10-31'
group
by DAYOFWEEK(log_date)