2014-09-05 64 views
0

我正在使用Oracle 11G。如何根據字段分組得到一個簡單的字段?

我得在數據庫中下表: enter image description here

我想獲得現場「價值」爲每個最近ID_NUMBER。 例如,從上面的表中,我想獲得的行:

24/08 1 8

03/09 2 95

我設法獲得每個日期和ID_NUMBER最近的Id_Number使用:

select max(Date), Id_Number from table group by Id_Number 

但我不明白我怎麼能得到「價值」。你能指導我嗎?

+1

[檢索的最後一個記錄各組]的可能重複(http://stackoverflow.com/questions/1313120/retrieving-the-last-record-in-each-組) – Bulat 2014-09-05 14:16:39

回答

1

以下是我認爲一個標準的SQL解決方案:

SELECT * FROM table t 
WHERE NOT EXISTS 
(SELECT * FROM table WHERE t.id_number = id_number AND date > t.date) 

你可以看看在冠軍「組內第一個/最後一個記錄」的問題,你會發現很多其他的選擇。

1

試試這個:

select t1.* 
    from YOUR_TABLE t1 
    , (
     select min(date) dat 
      , id_number 
      from YOUR_TABLE 
     group by id_number 
     ) t2 
where t1.date = t2.dat 
    and t1.id_number = t2.id_number 
相關問題