我在一个表中有日,月,年,值列,这里我需要得到一个月内每周的平均值。如何做到这一点。关于这一点,请帮助我。
select avg(value) from table group by month 给出月平均值。
select avg(value) from table group by day给出日平均值。但是如何从月份字段中获取周平均值。
发布于 2012-03-21 05:32:10
你不能“从一个月中得到几周”,因为其中一个不是另一个的子集。
一个月中的天数(以及相应的周)因月而异,并且只有在非闰年中-并且仅在2月份-一个月中恰好有4周。
您应该使用原始日期字段,并使用日期函数按周限制/分组数据。
在mySQL中度过一周
WEEK(timestamp)
或
YEARWEEK(timestamp)
或
WEEKOFYEAR(NOW())
或
DATE_FORMAT($yourDate, \'%X %V\') as week
发布于 2012-03-21 04:55:42
也许有一种更好的方法,但我的第一个想法是编写一个查询,计算每一天是一年中的第几周,并对它们进行分组。http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_weekofyear
类似于:
SELECT avg(value) FROM table GROUP BY WEEKOFYEAR(CONCAT(year, '-', month, '-', day))https://stackoverflow.com/questions/9794734
复制相似问题