如何在mysql中从月份获取周平均值?

如何在mysql中从月份获取周平均值?,mysql,sql,date,average,Mysql,Sql,Date,Average,我在一个表中有天、月、年、值列,这里我需要得到一个月内每周的平均值。 如何得到它。请帮我解决这个问题 select avg(value) from table group by month 给出月平均值 select avg(value) from table group by day 给出日平均值。 但是如何从month字段中获取week average。可能有更好的方法,但我的第一个想法是编写一个查询,计算一年中每一天的周数并对它们进行分组。 比如: SELECT avg(value

我在一个表中有天、月、年、值列,这里我需要得到一个月内每周的平均值。 如何得到它。请帮我解决这个问题

select avg(value) from table group by month 
给出月平均值

select avg(value) from table group by day
给出日平均值。
但是如何从month字段中获取week average。

可能有更好的方法,但我的第一个想法是编写一个查询,计算一年中每一天的周数并对它们进行分组。

比如:

SELECT avg(value) FROM table GROUP BY WEEKOFYEAR(CONCAT(year, '-', month, '-', day))
你不能“从一个月得到几周”,因为其中一个不是另一个的子集。
一个月内的天数(因此周数)因月而异,只有在非闰年(仅在2月份)一个月内才有4周

您应该使用原始日期字段并使用日期函数按周限制/分组数据。
使用
周(时间戳)


YEARWEEK(时间戳)


WEEKOFYEAR(NOW())



DATE\u格式($yourDate,\'%X%V\')作为一周

你能发布一些样本数据吗…?@RameshK,Michael是正确的。某个月的工作可能从说开始。。星期二、三或四。因此,在开始和结束时都会有半周的时间。看看2012年2月。。。总共5周,第一个和最后一个部分。这将如何准确地描述“平均”。。。