我有一张名为“空气质量”的表格,它记录了在那些日子里不同的日子和时间进行的空气质量测量。这些日期/时间戳存储在两个不同的列中: validdate和validtime。我可以查询这两个字段中的任何一个,以便使用以下查询返回最大值:
select *
from airquality
where validdate = (select max(validdate) from airquality)这将返回最近一天的正确行(格式:05/02/20)。但是,如何修改此查询以同时检查validtime列(format:16:00)中的最新时间?
我尝试了以下几点:
select *
from airquality
where validdate = (select max(validdate) from airquality)
and validtime = (select max(validtime) from airquality)但是这不起作用,因为我可以有05/01/2020的时间戳,而这个时间戳是05/02/2020还没有的。(例如: 05/02/20 16:00 vs 05/01/20 23:00)
我在Postgres 12.2
有什么建议或想法吗?提前谢谢。
发布于 2020-05-02 20:40:20
从这两列创建适当的时间戳:
select *
from airquality
where validdate + validtime = (select max(validdate + validtime ) from airquality)这假设validdate是用数据类型date定义的,而validtime是正确定义为time列的。
https://dba.stackexchange.com/questions/266361
复制相似问题