查找最后插入的记录 - Postgresql

问题描述:

数据库结构没有最佳构建,因此这是为了最大限度地利用当前情况。查找最后插入的记录 - 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. 时间戳“花费”比简单的日期更多吗?
  3. 其他解决方案?

小提琴:http://sqlfiddle.com/#!15/60b68/1

TIA,

+0

没有不可思议的隐藏交易字段。事实上,Postgres甚至不需要显示最后出现的'A'记录,因为即使使用'ORDER BY date',也可以按任意顺序放置这三个记录。如果您需要的订单超出日期可以提供的数量,那么添加另一列可能是最好的长期解决方案。 –

  1. 添加一个AUTO_INCREMENT列,并获得MAX()它。它会显示正确的结果

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

  3. 你可以做一个ORDER BY your_date_time_field DESC并选择1条记录,但可能无法得到正确的结果。