我需要一个查询来更新指标上升或下降的点的值。例如,我有一个表
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更新,如指标栏所示。
答案 0 :(得分:0)
你想要一个" 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);
你想要一个&#34; L&#34;当前面和后面的行都有较大的值时;使用类似的查询。