【发布时间】:2021-11-22 15:05:50
【问题描述】:
我有一个结构简单的表 (DTP),大约有 20 万行
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| DT | datetime | YES | | NULL | |
| PWR | decimal(5,3) | YES | | NULL | |
| Pix | int(11) | NO | PRI | NULL | auto_increment |
+-------+--------------+------+-----+---------+----------------+
- DT = 每 10 分钟(日光)的日期时间
- PWR = 10 分钟期间的平均发电量 kW
我想知道日、周、月、年的平均发电量
我什至在尝试之前就怀疑以下内容是错误的,但我无法找到有关如何构建我的 SQL 以返回这些平均值的帮助。 (我预计每个周期的每个平均值都有一个不同的查询。
SELECT AVG(PWR) AS DailyAvgPwr
FROM DTP
WHERE (year(DT) AND month(DT) AND day(DT)) IN(
SELECT PWR, year(DT), month(DT), day(DT)
FROM DTP
GROUP BY year(DT), month(DT), day(DT)
ORDER BY year(DT), month(DT), day(DT);
如果能对至少一个时期提供一些指导,那就太好了:我猜我可以推断答案以获得其他时期的平均值。
[如果相关,我使用的是 MariaDB,服务器版本:10.5.12]
【问题讨论】:
-
您能提供一些数据示例和您的预期结果吗?
标签: mysql sql datetime mariadb