Sql 如何忽略Oracle11中增加值的行
因此,我有一个表,其中有一个值列表,我需要按日期排序,忽略数字大于上一个数字的行。以下表为例:Sql 如何忽略Oracle11中增加值的行,sql,database,oracle11g,Sql,Database,Oracle11g,因此,我有一个表,其中有一个值列表,我需要按日期排序,忽略数字大于上一个数字的行。以下表为例: Date Value 01/01/2017 10 01/02/2017 9 01/03/2017 8 01/04/2017 10//Ignore this because previous entry is less(8<10) 01/05/2017 9... 仅仅使用一个查询就可以做到这一点吗 提前感谢您的帮助。您可以使
Date Value
01/01/2017 10
01/02/2017 9
01/03/2017 8
01/04/2017 10//Ignore this because previous entry is less(8<10)
01/05/2017 9...
仅仅使用一个查询就可以做到这一点吗
提前感谢您的帮助。您可以使用:
我想您需要lag()
:
所以基本上你是在寻找最长的趋势?请描述您试图实现的目标。不要只想忽略前面条目为lessBoth的行。非常感谢你们都很好
10
9
8
9
WITH cte AS (
SELECT *, LAG(Value,1,0) OVER(ORDER BY Date) AS prev
FROM your_table
)
SELECT *
FROM cte
WHERE Value > prev;
select value
from (select t.*, lag(value) over (order by date) as prev_value
from t
) t
where prev_value is null or prev_value > value;