如何打印date1的date1和date2的最大值

时间:2015-04-08 18:39:15

标签: sql oracle oracle11g

我的表是这样的:

ID    DATE1         DATE2
-----------------------------
1   17-Dec-14   17-Mar-15
1   17-Dec-14   16-Dec-14
1   17-Dec-14   16-Dec-14
1   17-Dec-14   16-Dec-14
2   17-Dec-14   17-Mar-15
2   17-Dec-14   16-Dec-14
2   17-Dec-14   16-Dec-14
2   17-Dec-14   16-Dec-14
2   17-Dec-14   16-Dec-14
2   7-Dec-14    19-Mar-15
2   27-Nov-14   19-Mar-15
2   17-Nov-14   19-Mar-15
2   17-Nov-14   19-Mar-15
1   17-Dec-14   16-Dec-14
1   7-Dec-14    19-Mar-15
1   27-Nov-14   19-Mar-15
1   17-Nov-14   19-Mar-15
1   17-Nov-14   19-Mar-15

我想要输出如下:

ID     DATE1        DATE2
------------------------------
1   17-Dec-14   17-Mar-15
2   17-Dec-14   17-Mar-15
1   7-Dec-14    19-Mar-15
2   7-Dec-14    19-Mar-15
1   27-Nov-14   19-Mar-15
2   27-Nov-14   19-Mar-15
1   7-Dec-14    19-Mar-15
2   7-Dec-14    19-Mar-15

我把查询写成

SELECT  ID,DATE1,MAX(DATE2) FROM(
      SELECT ID,MAX(DATE1)DATE1 ,DATE2 FROM (
                SELECT ID,DATE1,DATE2 FROM
                                      ABC )GROUP BY ID,DATE2)
                                      GROUP BY ID,DATE1
                                      ORDER BY DATE1 DESC 

但是,我没有得到所需的输出。

1 个答案:

答案 0 :(得分:1)

很难理解您的要求。这很简单吗?

select id, date1, max(date2)
from abc
group by id, date1