sql - 从 PostgreSQL DB 查询时间戳的最大值

标签 sql performance postgresql select optimization

假设在名为 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/

相关文章:

java - Hibernate异常: Unable to access lob stream

c# - 从控制台运行 dotnet 核心应用程序时无法解决依赖关系

mysql - 按月在表中显示结果

SQL Server,将列表创建为 1 列

performance - Angular 2 性能 IE11 *ngFor

performance - Option.isEmpty 的更快实现?

python - sqlalchemy.exc.DataError : (psycopg2. DataError) 整数超出范围

sql - 多语言列上的全文搜索索引

MySQL 带有带有 acCount 和 SubQuery Select 的 IF 语句

android - 我可以仅在 Android 调试版本中启用 multidex 吗?