我需要执行一个查询,以MySQL或SQL语言显示每天、半年和每月的平均值。日期采用Unix格式,但也已转换为标准格式,如下所示。
我有下表(fecha unix - Unix date,fecha normal - regular date,Nombre - name):
Nombre          | fecha unix| fecha normal          |value  |
JOHANNA ANDREA  |1273533527 |2010-05-10 19:18:47    |1.2    |
ANA MARIA       |1273533572 |2010-05-10 19:19:32    |2.0    |
CARLOS MANUEL   |1273542938 |2010-05-10 21:55:38    |2.0    |
LEONARDO ANGEL  |1273543988 |2010-05-10 22:13:08    |1.6    |
PATRICIO HERNAN |1273546656 |2010-05-10 22:57:36    |1.8    |
LILIAN CECILIA  |1273585499 |2010-05-11 09:44:59    |2.0    |
ROSA MERCEDES   |1273590042 |2010-05-11 11:00:42    |1.8    |
GABRIEL TORO    |1461837600 |2016-04-28 07:00:00    |1.2    |
FELIPE RUIZ     |1461837680 |2016-04-28 07:01:20    |1.6    |
CARLOS TAPIA    |1461847680 |2016-04-28 09:48:00    |1.8    |当天的预期结果:
fecha       | value
2010-05-10  | 1.7
2010-05-11  | 1.9
2016-04-28  | 1.5当月:
2010-05 | 1.7
2010-04 | 1.5感谢您的回复。
发布于 2016-04-30 03:32:17
您可以像这样按日期分组
SELECT DATE(FROM_UNIXTIME('fecha unix')) AS fecha,
        AVERAGE(*) AS Average
 FROM   MyPostsTable
 GROUP BY DATE(FROM_UNIXTIME('fecha unix')
 ORDER BY fecha就像这样按月
SELECT DATE(FROM_UNIXTIME('fecha unix')) AS fecha,
            AVERAGE(Value) AS Average
     FROM   MyPostsTable
     GROUP BY MONTH(FROM_UNIXTIME('fecha unix'))
     ORDER BY fecha;我想每周都是这样
SELECT DATE(FROM_UNIXTIME('fecha unix')) AS fecha,
                AVERAGE(Value) AS Average
         FROM   MyPostsTable
         GROUP BY WEEK(FROM_UNIXTIME('fecha unix'))
         ORDER BY fecha;发布于 2016-04-30 03:40:42
警告-未经测试,可能会出现语法错误,但希望您能理解。
白天:
select date_format(fecha_normal, '%Y-%m-%d') fecha, avg(Value) from tbl group by 1按月:
select date_format(fecha_normal, '%Y-%m') fecha, avg(Value) 
  from tbl group by 1按半年计算:
select concat(year(fecha_normal), '-', 
  if(month(fetcha_normal) < 7, 1, 2)) fecha, avg(Value) 
  from tbl group by 1这里的想法是,我们使用特殊的格式化结合SQL函数逻辑(if)来构造上半年的year-1字符串,以及第二年的year-2字符串。
按年份排列:
select year(fecha_normal) fecha, avg(Value) from tbl group by 1https://stackoverflow.com/questions/36945856
复制相似问题