2015-10-28 2 views
-1

Мой текущий полученный набор данных выглядит следующим образомПредыдущая запись на основе конкретных условий

-------------------------------------------------------------------- 
|  Type_ID | component | timestamp    | status | 
------------------------------------------------------------------- 
|  52  |  G1  |Aug 25, 2014 9:10:47.0 AM | IN  | 
|  53  |  G1  |Aug 27, 2014 11:11:29.0 AM| OUT | 
|  58  |  G1  |Aug 27, 2014 11:11:29.0 AM| OUT | 
|  53  |  G1  |Aug 27, 2014 11:11:29.0 AM| OUT | 
|    |  G1  |Aug 27, 2014 11:11:29.0 AM| GEN | 
|  52  |  G2  |Aug 28, 2014 11:11:29.0 AM| IN  | 
|  52  |  G1  |Aug 29, 2014 11:11:29.0 AM| IN  | 
|    |  G2  |Aug 29, 2014 12:11:29.0 AM| GEN | 
-------------------------------------------------------------------- 

------------------------------------------------------------------------------------------------------------------------------ 
|  Type_ID | component | timestamp    | status | Type_Id | component | timestamp    | status | 
------------------------------------------------------------------------------------------------------------------------------- 
|    |  G1  |Aug 27, 2014 11:11:29.0 AM | GEN | 52 | G1  |Aug 25, 2014 9:10:47.0 AM | IN | 
|    |  G2  |Aug 29, 2014 12:11:29.0 AM | GEN | 52 |  G2 |Aug 28, 2014 11:11:29.0 AM| IN | 

Так на основе статуса, я хотел бы получить предыдущий рекорд TYPE_ID «», попытались использовать LAG, но не смог динамически получать предыдущий рекорд на основе STATUS = IN,

База данных: SAP HANA, SQL будет полезным

+0

WT ... вы отметили это с помощью mysql, если вопрос относится к HANA? – vwegert

+0

@vwegert, используя mysql, я смог бы изменить эту часть моего кода на мою потребность, это не обязательно быть конкретным. В любом случае спасибо за вашу большую помощь, понизив вопрос – abhishekdesai

ответ

0
SELECT *, LAG(TYPE_ID) OVER (ORDER BY TIMESTAMP), LAG(STATUS) OVER (ORDER BY TIMESTAMP), LAG(TIMESTAMP) OVER (ORDER BY TIMESTAMP) FROM TAB 
WHERE STATUS IN ('IN') 
ORDER BY TIMESTAMP; 

Сначала мы бы устранить ll нежелательные записи и использование задержки в новом результирующем наборе.

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