gpt4 book ai didi

mysql - 使用 SQL 查找零值之间的局部最大值

转载 作者:可可西里 更新时间:2023-11-01 07:39:07 26 4
gpt4 key购买 nike

我有一个表格,其中包含来自物联网设备的每分钟数据。每分钟都会有一个新行,其中包含一个时间戳和一个表示指标的值。该指标从 0 开始并递增一段时间,然后重置并重新开始。

当我绘制它时,它看起来像图片。我想找到每次运行的局部最大值,如蓝色圆圈所示。

是否可以找到指标> 0的连续行并对其进行分组,然后找到每组的最大值?

enter image description here

更新

表结构:

+-------------+------------------+
| Field | Type |
+-------------+------------------+
| id | int(10) unsigned |
| timestamp | timestamp |
| metric_name | varchar(32) |
| value | int(10) |
+-------------+------------------+

最佳答案

这是基于以下假设:

  1. Id 是一个完全连续的整数(没有间隙)
  2. 你想获取直接记录在 0 值之前的值

代码:

SELECT *
FROM metrics m1
WHERE m.id IN (
SELECT m2.id - 1
FROM metrics m2
WHERE m1.value = 0)

关于mysql - 使用 SQL 查找零值之间的局部最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33424380/

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