2016-03-04 194 views
1

我需要一個查詢來更新在從該指標上升或下降。比如我有查找局部最小值/最大值

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

你想要一個「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」當兩個前述和以下的行具有較大的值;使用類似的查詢。

+0

是........這就是我一直在尋找的東西。你創造了我的一天。感謝您的大力幫助 - 曼迪 – Mandi

相關問題