甲骨文設置:
CREATE TABLE table_name (ID, Type, Val, Creation_date) AS
SELECT 1, 'A', 'V1', DATE '2011-09-24' FROM DUAL UNION ALL
SELECT 2, 'B', 'X1', DATE '2001-12-15' FROM DUAL UNION ALL
SELECT 3, 'A', 'V1', DATE '2008-10-27' FROM DUAL UNION ALL
SELECT 4, 'A', 'V2', DATE '2003-10-19' FROM DUAL UNION ALL
SELECT 5, 'B', 'X2', DATE '2000-12-15' FROM DUAL UNION ALL
SELECT 6, 'C', 'X3', DATE '2001-12-23' FROM DUAL UNION ALL
SELECT 7, 'B', 'X2', DATE '1990-12-15' FROM DUAL;
查詢:
SELECT ID,
TYPE,
val,
Creation_date
FROM (
SELECT t.*,
LAST_VALUE(val) OVER (
PARTITION BY type
ORDER BY creation_date
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS last_val
FROM table_name t
)
WHERE val <> last_val;
輸出:
ID TYPE VAL CREATION_DATE
---------- ---- --- -------------------
4 A V2 2003-10-19 00:00:00
7 B X2 1990-12-15 00:00:00
5 B X2 2000-12-15 00:00:00
來源
2016-05-29 19:18:44
MT0
我不想最新values.I希望前輩值.. – Neha
此查詢將不會爲他工作。 – sagi
@Neha。 。 。如果你想要最老的值,只需使用'asc'而不是'desc'。 –