2016-03-04 2 views
1

мне нужен запрос, чтобы обновить значение в точке, из которой метрика повышается или снижается пример .FOR У меня есть таблица сНайти локальных минимумов/максимумов

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 – Mandi

Смежные вопросы