查找最后插入的记录 - 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
个
三个问题:
- 是否有可能找到最后一个记录 'A' 无时间戳?
- 时间戳“花费”比简单的日期更多吗?
- 其他解决方案?
小提琴:http://sqlfiddle.com/#!15/60b68/1
TIA,
答
添加一个AUTO_INCREMENT列,并获得MAX()它。它会显示正确的结果
时间戳的时间部分也和有用的比较不是简单的日期
你可以做一个
ORDER BY your_date_time_field DESC
并选择1条记录,但可能无法得到正确的结果。
没有不可思议的隐藏交易字段。事实上,Postgres甚至不需要显示最后出现的'A'记录,因为即使使用'ORDER BY date',也可以按任意顺序放置这三个记录。如果您需要的订单超出日期可以提供的数量,那么添加另一列可能是最好的长期解决方案。 –