【问题标题】:How to print Maximum of date1 and max of date2 for date1如何为 date1 打印 date1 的最大值和 date2 的最大值
【发布时间】:2015-04-08 18:39:14
【问题描述】:

我的桌子是这样的:

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 

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

【问题讨论】:

  • 我不明白你的要求。
  • @Randy 给出的答案与您的要求不同,但他似乎满足了您的要求......为什么“1 7-Dec-14 19-Mar-15”两次回答? Randy 给出的答案还给出了“1 17-Nov-14 19-Mar-15”,这不在您想要的输出中?

标签: sql oracle oracle11g


【解决方案1】:

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

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

【讨论】:

  • Randy/Nagendra,我的要求是“我想根据 ABC 表打印 date1 的 miximum 值以及与 date1 关联的 date2 的最大值。例如:2014 年 12 月 17 日是 date1 的最高日期,17-Mar-2014 是与 date1 关联的 date2 的最高日期。类似地,1 7-Dec-14 19-Mar-15 2 7-Dec-14 19-Mar-15 1 14 年 11 月 27 日 15 年 3 月 19 日 2 14 年 11 月 27 日 15 年 3 月 19 日 1 14 年 12 月 7 日 15 年 12 月 19 日 2 14 年 12 月 7 日 15 年 3 月 19 日。必须为两个 id 显示
  • 这对我来说更没有意义......对不起
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-11
  • 2015-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多