查找局部最小值/最大值
问题描述:
我需要一个查询来更新在从该指标上升或下降。比如我有查找局部最小值/最大值
ID METRICS INDICATOR
1 204.4
2 205
3 206 H
4 204
5 199
6 198 L
7 204
8 205 H
9 201
10 199
表如果你看到上面的表格中的指标列中的点的值指标发生逆转。发生逆转的点应该更新为指标值H/L,如指标栏所示。
答
你想要一个“H”时既前述和以下的行具有较小的值:
UPDATE MyTable
SET Indicator = 'H'
WHERE Metrics > (SELECT Metrics
FROM MyTable AS T2
WHERE T2.ID < MyTable.ID
ORDER BY ID DESC
LIMIT 1)
AND Metrics > (SELECT Metrics
FROM MyTable AS T2
WHERE T2.ID > MyTable.ID
ORDER BY ID ASC
LIMIT 1);
你想要一个“L”当两个前述和以下的行具有较大的值;使用类似的查询。
是........这就是我一直在寻找的东西。你创造了我的一天。感谢您的大力帮助 - 曼迪 – Mandi