【问题标题】:How can I select unique record with latest created date?如何选择具有最新创建日期的唯一记录?
【发布时间】:2018-06-24 21:41:21
【问题描述】:

我有以下数据集

1   ID_TRA  ID_CM   DATE
2   369387  31715   27. 11. 2017 9:49:13
3   369387  31341   27. 2. 2017 13:33:55
4   369503  31715   27. 11. 2017 9:49:13
5   369503  9810    11. 10. 2010 21:59:28
6   369503  31715   27. 11. 2017 9:49:13
7   369503  9810    11. 10. 2010 21:59:28
8   433605  29760   24. 4. 2015 7:57:46
9   433605  31715   6. 12. 2017 20:26:36
10  433605  9810    29. 3. 2015 11:10:44

我需要先按“id_tra”分组,然后显示对应id_tra的最新日期,所以输出会是这样的:

369387  27. 11. 2017 9:49:13
369503  27. 11. 2017 9:49:13
433605  6. 12. 2017 20:26:36

我怎样才能做到这一点?

【问题讨论】:

  • 不相关,但是:DATE 是一个可怕的列名称。一方面因为它也是一个关键字,但更重要的是:它不记录列包含的内容。开始日期?结束日期?截止日期?注册日期?出生日期?

标签: sql oracle greatest-n-per-group


【解决方案1】:

嗯……这很难做到。类似的东西

select id_tra, max("date")
from "table"
group by id_tra

不是吗?

【讨论】:

    【解决方案2】:

    你可以尝试运行以下 -

    select id_tra, max(date) from table_name group by id_tra
    

    【讨论】:

    • date是保留字,即需要用"date"分隔。
    【解决方案3】:

    试试这个:

    SELECT ID_TRA, MAX("date") As MaximumDate
    FROM Table
    Group by ID_TRA
    

    【讨论】:

    • Oracle 真的支持方括号作为分隔标识符吗?
    • date是保留字,即需要用"date"分隔。
    猜你喜欢
    • 1970-01-01
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多