我有下面的表,並試圖運行以下查詢以獲得最新的DEPTID根據EFFDT,這是第二行的 (DAA System Infrastructur 1/13/2017),但我仍然得到所有的記錄。我在這裏做錯了什麼?Oracle - Sql查詢獲取表中的最新記錄
我確實看過類似的問題,但沒有像我一樣的問題。
select d.deptid,d.descr,d.effdt
from SYSADM.PS_DEPT_TBL d
inner join(select deptid,descr,max(to_date(effdt)) as max_date
from SYSADM.PS_DEPT_TBL
group by deptid, descr) d1
on d.deptid = d1.deptid
and to_date(effdt) = max_date
where d.deptid ='DAA'
這是表:
DEPTID DESCR EFFDT
-------------------------------------------
DAA Telecommunications 2/18/2013
DAA System Infrastructure 1/13/2017
DAA Manager, Telecommunications 1/1/1900
DAA System Infrastructure & Contrl 7/8/2013
可以顛倒順序,並採取先用'LIMIT 1' – SubjectDelta
'descr'不應該的一部分鏤空表/內聯視圖,也不屬於組的一部分。 – xQbert