【发布时间】:2022-11-10 22:12:38
【问题描述】:
我正在运行一个小型服务器,其中数据是从 SQL 数据库(MySQL)上的远程电池供电节点收集的。电池电压也被收集起来,充满的电池在 4.2V 左右,节点停止发送的低电量电池在 2.7V 左右。 当我更换没电的电池时,节点会再次开始发送,电池电量会变为 4.2V。我想运行一个检测这种转换的查询。节点有一个唯一的 id(node_id),表中的每一行都有一个唯一的 id(idx)。换句话说,为 bbattery 从 ~2.7(idx) 跳转到 ~4,2(idx+n) 的节点找到 2 个后续行,其中 n 是任何正数,表示存储在 idx 和 idx+n 之间的其他行,由其他节点。 谢谢
【问题讨论】:
-
请通读how to create minimal, reproducible example,然后编辑此问题以便回答。此外,SO 不是代码编写服务,我们在这里帮助您解决遇到的具体问题。您是否尝试编写此查询,如果是,您在哪里卡住了,您尝试了什么等等...?在您的问题中包含该代码。
-
嗨,目前没有可发布的代码,这是一个理论问题,关于我应该如何开始,如何计划查询。我不知道如何解决这个问题,因为我需要按 node_id 对行进行分组(我可以这样做),按 idx 排序(我可以这样做),然后比较每 2 行 (n, n+1) (不要知道如何),直到我在 batt 上找到 MAX diff
-
那么这不是问这样一个问题的正确地方。研究,观看教程,尝试,再试一次,再研究一些,然后再试一次,等等。最后,如果你仍然卡住,提供最小的、可重复的例子,写下你尝试过的,为什么它不起作用,提供代码,然后我们可以帮助您。作为提示,请查看 LAG 函数
-
所以这是一个代码编写的地方,因为它唯一的权利是实现细节,并纠正发布代码中的错误。编程理论,算法超出范围?