2017-04-12 29 views
0

我有表:甲骨文選擇是否值小於前

enter image description here

如何選擇ID形式時值之後比以前的值以下(預期的結果是ID = B2和C1)此表。謝謝你

+1

在什麼順序的基礎上?你意識到在RDBMS中,表是無序的一組行。你必須指定一個訂單,根據哪一行被稱爲**之前或之後**另一個 – GurV

+0

訂單由TIME col,sir – JimmyN

+1

在oracle中有'LAG'和'LEAD'函數可以讓你查詢超過一次一張表中的一行。 – Nitish

回答

1

你可以使用窗口函數lead獲取最後一行的值,並檢查當前行的值是否小於此值。您也可以以類似的方式使用lead來獲取下一行的值。

select distinct ID 
from (
    select t.*, 
     lag(value) over (
      partition by ID order by time 
      ) as last_value 
    from your_table t 
    ) t 
where value < last_value; 
+0

非常感謝你,這就是我想要的 – JimmyN

+0

@JimmyN - 不客氣 – GurV