mysql 每十分钟的数据相加
时间: 2023-10-26 18:03:52 浏览: 86
假设有一张名为 `data` 的表,其中有两个字段 `datetime` 和 `value`,表示每分钟的时间和对应的值。要求每十分钟的数据相加,可以使用如下 SQL 语句:
```sql
SELECT DATE_FORMAT(datetime, '%Y-%m-%d %H:%i') AS datetime,
SUM(value) AS sum_value
FROM data
GROUP BY DATE_FORMAT(datetime, '%Y-%m-%d %H'),
FLOOR(MINUTE(datetime) / 10)
ORDER BY datetime
```
解释:
1. 使用 `DATE_FORMAT` 函数将时间按照每十分钟的粒度进行格式化,如 `2021-06-01 10:00` 表示的是 10 分钟的时间段。
2. 使用 `SUM` 函数对每个时间段的值进行求和。
3. 使用 `GROUP BY` 子句将数据按照时间段进行分组,其中 `DATE_FORMAT(datetime, '%Y-%m-%d %H')` 表示按照每小时分组,`FLOOR(MINUTE(datetime) / 10)` 表示每十分钟分组。
4. 使用 `ORDER BY` 子句按照时间排序。
注意:上述 SQL 语句中,时间是按照数据库服务器的时间进行计算的,如果需要按照特定的时区进行计算,需要进行时区转换。
阅读全文