【发布时间】:2013-06-26 00:18:41
【问题描述】:
我有一个具有以下结构的数据库
url update_time dns_time
-------------------------------
url1 2013-04-05 08:03:23 0.897
url2 2013-09-03 08:03:45 0.765
url1 2013-08-23 09:23:34 2.457
url3 2013-08-34 09:45:47 1.456
//and so on
现在我只想检索每个 url 的最新记录。如何使用 PostgreSQL 选择查询来实现这一点。
我尝试过使用
select url,
update_time,
dns_time
from dns_lookup_table
where url in('url1','url2','url3')
order by desc limit 1
但它给了我最后一条记录的 url3 最新值。我尝试使用 desc limit 3 来获取所有 3 个 url 的最新值。我要检索url1、url2、url3的最新记录。只有最新记录。并且表dns_lookup_table 具有动态进入其中的记录。有时,如果不可用,则无法插入 url 记录。所以订单缺失。所以我认为desc limit是不可能的。
【问题讨论】:
-
update_time的类型是什么?
-
“所以订单丢失”到底是什么意思?
-
如果我使用 desc 限制 5,Urls 的顺序将会丢失。如果记录不可用,并且没有插入数据库的 url
-
update_time 是 postgresql 中的时间戳类型
标签: sql postgresql select