CREATE TABLE `device_monitor_attr_his` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `deviceID` bigint(20) NOT NULL COMMENT '设备主键', `monKey` varchar(32) NOT NULL COMMENT '监控量', `monValue` varchar(500) NOT NULL COMMENT '监控值', `createTime` datetime NOT NULL, PRIMARY KEY (`id`), KEY `index_deviceID` (`deviceID`) ) ENGINE=InnoDB AUTO_INCREMENT=16924951 DEFAULT CHARSET=utf8; mysql 根据deviceID,monkey,createTime统计device_monitor_attr_his表的平均值 sql怎么写
时间: 2023-10-19 12:07:23 浏览: 94
您好,根据您的需求,可以使用以下 SQL 语句查询 device_monitor_attr_his 表中指定 deviceID、monKey 和 createTime 条件下的监控值的平均值:
```
SELECT AVG(CAST(monValue AS DECIMAL(10,2))) AS avg_value
FROM device_monitor_attr_his
WHERE deviceID = 'your_deviceID' AND monKey = 'your_monKey' AND createTime BETWEEN 'start_time' AND 'end_time';
```
其中,AVG 函数用于计算指定列的平均值;CAST 函数将字符串类型的 monValue 转换成 DECIMAL 类型,以便计算平均值。
请替换 SQL 语句中的 your_deviceID、your_monKey、start_time 和 end_time 为您实际需要查询的条件值。
阅读全文