【问题标题】:I want to choose the particular column of the last inserted record. How can I do that?我想选择最后插入记录的特定列。我怎样才能做到这一点?
【发布时间】:2018-02-28 23:00:00
【问题描述】:
select max(created_t) from inv_database  ;

o/p = 78578596

select in_date from inv_database where created_t = 78578596;

我想合并这两个查询并想要结果。 有 4 条记录的最大 created_t 并且它们都具有相同的 in_date。我想得到那个日期。它需要什么查询?

【问题讨论】:

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


    【解决方案1】:

    使用子查询:

    select in_date
    from inv_database
    where created_t = (select max(created_t) from inv_database);
    

    你也可以使用像row_number这样的解析函数:

    select t.in_date
    from
    (
        select in_date,
            row_number() over (order by created_t desc) rn
        from inv_database
    ) t
    where t.rn = 1;
    

    【讨论】:

    • 请注意,这些查询可能会给出不同的结果——正确与否取决于实际需求以及in_date -> created_t 的依赖关系是否受到约束。
    • @JeffreyKemp 是的,有一个问题是关系会发生什么。
    【解决方案2】:

    SubQuery 将帮助您...

    select in_date as Date
    from inv_database
    where created_t 
    = (select max(created_t) from inv_database);
    

    你可以根据你的表列结构试试。

    【讨论】:

      猜你喜欢
      • 2022-11-09
      • 2015-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-05
      • 2015-05-01
      • 1970-01-01
      • 2012-08-18
      相关资源
      最近更新 更多