gpt4 book ai didi

mysql - UNION 3 相同表和 SUM 4 列

转载 作者:行者123 更新时间:2023-11-29 16:06:54 25 4
gpt4 key购买 nike

我的数据库中有 3 个结构相同的表......

ID |时间戳|年份|月 |日 |小时 |水 |电动|天然气|太阳能发电

水、电、天然气和太阳能发电的每行数据都是相同的。这四列是随机数。数据由 PHP 脚本生成,该脚本由 cronjob 每小时触发一次。现在我拥有的数据可以追溯到 2018 年 1 月 1 日,按小时计算。现在每个表中只有 11,000 多条记录。我已经使用 sql 查询完成了一些任务,但绝不是专家,而且我现在尝试创建的任务遇到了一些困难。

我发布的查询从过去 10 小时内的所有 3 个表中获取行,并对水、电、天然气和太阳能发电的总数进行求和。现在这只能让我在 1 行中显示结果。我需要做的是显示这 10 个小时,就像您在屏幕截图中看到的那样。

我的代码:https://www.screencast.com/t/SHTM7ERh

我需要如何显示它,但使用 SUM 函数: https://www.screencast.com/t/aH07ZUvyG

SELECT
timestamp AS Timestamp,
SUM (water) AS 'Water Total',
SUM (electric) AS 'Electric Total',
SUM (naturalgas) AS 'N. Gas Total',
SUM (solargeneration) AS 'Solar Total'
FROM
(
SELECT
timestamp,
water,
electric,
naturalgas,
solargeneration
FROM
wpdatatable_24
UNION
SELECT
timestamp,
water,
electric,
naturalgas,
solargeneration
FROM
wpdatatable_23_1
UNION
SELECT
timestamp,
water,
electric,
naturalgas,
solargeneration
FROM
wpdatatable_23_1_1) t
WHERE timestamp >= NOW() - INTERVAL 10 HOUR;

最佳答案

您必须按小时(时间戳)进行分组。您还应该决定编写 SELECT min(timestamp) AS Timestamp,而不是 SELECT timestamp AS Timestamp,

关于mysql - UNION 3 相同表和 SUM 4 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55655298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com