我有一张名为 airquality 的表,其中记录了在这些日子内不同日期和时间进行的空气质量测量。这些日期/时间戳存储在两个不同的列中:validdate 和validtime。我可以使用以下查询查询其中任一字段以返回最大值:
select *
from airquality
where validdate = (select max(validdate) from airquality)
这将返回最近一天的正确行(格式:)05/02/20
。但是我怎样才能修改这个查询来检查validtime列中的最新时间(格式:)16:00
?
我尝试了以下方法:
select *
from airquality
where validdate = (select max(validdate) from airquality)
and validtime = (select max(validtime) from airquality)
但这不起作用,因为我可以拥有 2020 年 5 月 1 日的时间戳,而 2020 年 5 月 2 日还没有时间戳。(例如:05/02/20 16:00 vs 05/01/20 23:00)
我在 Postgres 12.2
有什么建议或想法吗?提前致谢。
从两列创建适当的时间戳:
这假定
validdate
使用数据类型进行更正定义date
并且validtime
正确定义为time
列。