如何获得按字段分组的简单字段?

时间:2014-09-05 13:35:43

标签: sql oracle11g group-by

我正在使用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

但我不知道如何获得“价值”。你能指导我吗?

2 个答案:

答案 0 :(得分:1)

以下是我认为的标准SQL解决方案:

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

您可以使用"组中的第一个/最后一个记录来查找问题"在标题中你会发现很多其他选择。

答案 1 :(得分: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