假设在名为 tracker
的 PostgreSQL 表中有 3 行。我想单独获取最新更新的记录。请帮助我实现它。
(issue_id,priority,ingest_date)
(1,1,"2015-01-27 00:00:00")
(1,2,"2015-01-28 00:00:00")
(1,3,"2015-01-29 00:00:00")
我试过给
select *
from tracker
where ingest_date = (select max(ingest_date) from tracker);
这对我来说很好用。 但是有什么更好的方法可以查询数据库吗?
提前致谢。
我想要类似的东西
select *
from etl_change_fact
where ingest_date = max(ingest_date);
但是我得到这个错误
**ERROR: aggregates not allowed in WHERE clause
**
最佳答案
您可以按如下方式进行。只需选择最新记录...
SELECT * from tracker ORDER BY ingest_date DESC LIMIT 1
此查询将始终只返回一条记录。 如果 ingest_date 包含重复项,您的查询可以返回多行。
关于sql - 从 PostgreSQL DB 查询时间戳的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28278686/