我需要进行一个查询,以显示每日、半年和每月的平均值 - 在 MySQL 或 SQL 中。日期采用 Unix 格式,但也已转换为标准格式,如下所示。
我有下表(fecha unix - Unix 日期,fecha normal - 常规日期,Nombre - 名称):
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
感谢您的回复。
最佳答案
您可以像这样按日期分组
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;
关于mysql - 计算日期平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36945856/