gpt4 book ai didi

mysql - 单个查询对数据进行分组

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

我每 5 秒在 MySQL 数据库中保存一次数据,并且希望平均 5 分钟内对这些数据进行分组。

选择是这样的:

SELECT MIN(revision) as revrev, 
AVG(temperature),
AVG(humidity)
FROM dht22_sens t
Group by revision div 500
ORDER BY `revrev` DESC

是否可以通过单个查询将数据保存在同一个表中?

最佳答案

如果是为了减少行数,那么我认为您必须插入具有聚合值的新行,然后删除原始的详细行。我不知道有任何单个sql语句可以一次性插入和删除(也参见类似的答案 from symcbean at StackOverflow ,他还建议将这两个语句打包到一个过程中)。

我建议添加一个额外的列aggregationLevel并执行两个语句(带或不带过程):

insert into dht22_sens SELECT MIN(t.revision) as revision, 
AVG(t.temperature) as temperature,
AVG(t.humidity) as humidity,
500 as aggregationLevel
FROM dht22_sens t
WHERE t.aggregationLevel IS NULL;

delete from dht22_sens where aggregationLevel is null;

关于mysql - 单个查询对数据进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41403069/

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