查找最后插入的记录 - Postgresql

时间:2017-10-12 05:42:05

标签: postgresql postgresql-9.4

数据库结构没有最佳构造,因此这是为了充分利用当前条件。

我只是想使用字符字段作为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. 其他解决方案?
  4. 小提琴:http://sqlfiddle.com/#!15/60b68/1

    TIA,

1 个答案:

答案 0 :(得分:2)

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

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

  3. 更有用
  4. 您可以执行ORDER BY your_date_time_field DESC并选择1条记录,但可能无法获得正确的结果。