假設我提取了一些數據集。Oracle:以最大日期記錄
即
SELECT A, date
FROM table
我只想用最大日期(A的每個值)的記錄。我可以寫
SELECT A, col_date
FROM TABLENAME t_ext
WHERE col_date = (SELECT MAX (col_date)
FROM TABLENAME t_in
WHERE t_in.A = t_ext.A)
但我的查詢是很長...有使用分析函數做同樣的一個最簡潔的方式?
你是什麼意思與關係? – Revious 2012-01-18 13:37:45
@ Gik25 - 如果在TABLENAME中有兩行具有相同的A值和SOME_DATE_COLUMN相同的值,那麼就會發生聯繫。你原來的查詢會返回這兩行,就像我的。另一方面,如果您使用'ROW_NUMBER'函數,則只返回兩行中的一行(儘管選擇返回哪一行將是任意的)。 – 2012-01-18 14:45:01