mysql - 计算日期平均值

标签 mysql sql-server

我需要进行一个查询,以显示每日、半年和每月的平均值 - 在 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/

相关文章:

sql - 在 SQL Server 2012 中将专辑轨道编号作为 INT 插入表时出现语法错误

sql - 如何在 "update from select"查询中使用表变量?

mysql - 当有两个或多个进程同时请求它时,数据库如何决定它应该给哪个进程锁定?

php - 使用MySQL和图像目录管理图像

mysql - 如何从远程服务器监控数据库?

php - 自定义 Phmyadmin 错误消息

sql - 为 SQL Server 2008 R2 Express 安装 SP2

Mysql IF条件Left Join同一张表两次

mysql - MySQL 查询中输入参数的语法

sql - 如何使用一个 SQL 查询从数据库中删除所有外部表?