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