查找最后插入的记录 - Postgresql

Find last inserted record - Postgresql

数据库结构不是最优化的,所以这是为了充分利用当前的条件。

我只想使用字符字段作为id来查找最后插入的记录

CREATE TABLE find
    (id varchar(8),date date);    
INSERT INTO find
    (id,date)
VALUES
    ('X','2017-10-01'),
    ('Y','2017-10-01'),
    ('A','2017-10-01');

我想找到最后一条记录'A'

SELECT    max(id) 
FROM      find 

使用共同最大值得到 'Y' 作为答案

我要找的是像

这样的神奇隐藏交易ID
SELECT    max(transaction_id) 
FROM      find 

三个问题:

  1. 是否可以找到没有时间戳的最后一条记录 'A'?
  2. 时间戳 "cost" 不仅仅是一个简单的日期吗?
  3. 其他解决方案?

Fiddle: http://sqlfiddle.com/#!15/60b68/1

TIA,

  1. 添加一个 auto_increment 列并获取它的 MAX()。它将显示正确的结果

  2. 时间戳比较时间部分也比简单的日期有用

  3. 你可以做 ORDER BY your_date_time_field DESC 和 select 1 条记录,但可能得不到正确的结果。