本文介紹了如何為每個ID獲取帶有max(時間戳)的行?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我有以下簡單的SELECT語句:
SELECT ID, EVENT, TIMESTAMP from table
order by ID, TIMESTAMP;
我現在只想為每個ID獲取具有最后一個時間戳的條目,即具有max(時間戳)的條目。我怎么才能弄到這個?我必須使用子查詢嗎?
推薦答案
一種方法使用聚合:
select id, max(timestamp) as timestamp,
max(event) keep (dense_rank first order by timestamp desc) as event
from t
group by id;
keep
語法是Oracle(相當冗長)實現第一個聚合函數的方式。
這篇關于如何為每個ID獲取帶有max(時間戳)的行?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,