gpt4 book ai didi

mysql - 如何更正 MySql 表中递增值的重置

转载 作者:行者123 更新时间:2023-11-29 17:34:12 24 4
gpt4 key购买 nike

我使用 MySql 表来保存通过 RS485 收集的传感器值。传感器汇总已经进入电池的电量。放电时为正极,充电时为负极。

遗憾的是我意外重置了测量模块..因此,我的电荷从一行到另一行下降 161 A/h,新数据与该零点相关。 HERE您可以看到我的表结构,其中包含费用、工作和时间的重置值。发生事件的行以蓝色突出显示。

如何以最佳方式纠正重置?我想创建一个以 ResetId(s) 作为索引(对于再次发生的情况)和列偏移量的表。但我还没有找到一种方法将其集成到我的查询中。

我用数据来做统计。最重要的是,小时或天之间的费用差异或最佳费用天数的前 10 名。 dayStats 的示例查询(事件发生前的一段时间)如下所示:

SELECT 
id AS _cid,
curtime AS mynow,
Date_format(curtime, '%H%:00') AS date,
Round(Min(CURRENT) / 10, 2) AS 'min current',
Round(Avg(CURRENT) / 10, 2) AS 'avg current',
Round(Max(CURRENT) / 10, 2) AS 'max current',
Round(Min(power) / 1000, 2) AS 'min power',
Round(Avg(power) / 1000, 2) AS 'avg power',
Round(Max(power) / 1000, 2) AS 'max power',
charge / 1000 AS 'charge',
Round(( ( (SELECT charge
FROM MeasurementData.SolarPower
WHERE Max(_cid) = id) - charge ) / 1000 ), 2) AS chgDiff
FROM MeasurementData.SolarPower
WHERE Day(curtime) = Day('2018-05-05 12:00:00')
GROUP BY Hour(curtime)
ORDER BY mynow DESC

This would be a normal output for day statistics

周统计数据几乎是相同的查询。但这里重置显示了它的效果..

    SELECT 
id AS _cid,
curtime AS mynow,
Date_format(curtime, '%d%.%m.%Y') AS date,
Date_format(curtime, '%W') AS weekday,
Round(Min(CURRENT) / 10, 2) AS 'cur-min',
Round(Avg(CURRENT) / 10, 2) AS 'cur-avg',
Round(Max(CURRENT) / 10, 2) AS 'cur-max',
Round(Min(power) / 1000, 2) AS 'pow-min',
Round(Avg(power) / 1000, 2) AS 'pow-avg',
Round(Max(power) / 1000, 2) AS 'pow-max',
Round((SELECT charge
FROM MeasurementData.SolarPower
WHERE Max(_cid) = id) / 1000, 2) AS chg,
Round((((SELECT charge
FROM MeasurementData.SolarPower
WHERE Max(_cid) = id) - charge ) / 1000 ), 2) AS chgDiff
FROM MeasurementData.SolarPower
WHERE curtime >= Date_sub('2018-05-05 12:00:00', interval 6 day)
GROUP BY DATE
ORDER BY mynow DESC

输出到:THAT这里重置事件清晰可见。

顺便说一句...我不太擅长 SQL 方面的东西,而且显示的查询非常慢。关于如何改进它们有什么建议吗?

先谢谢你们了。

最佳答案

您已确定表中的特定值“不正确”?然后使用带有 WHERE 子句的 UPDATE 语句来指定要更改的特定行。

您已确定表中的特定列在特定时间范围内需要调整某个常量值?然后使用带有 WHERE 子句的 UPDATE 语句来指定要更改的特定行。

关于mysql - 如何更正 MySql 表中递增值的重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50427657/

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