根据匹配结果的插入日期选择时间范围

时间:2016-07-24 20:47:15

标签: sql postgresql

我有messages(id, inserted_at)

我想选择N个最近的消息,其中inserted_at列的位置是最近一条消息的2分钟。

这可能吗?

1 个答案:

答案 0 :(得分:1)

您可以使用>>> Mediwiki.objects.get(proprietary_name__proprietary_name="Aspirin") <Mediwiki: acetylsalicylic acid> >>> 子句中的子选择来执行此操作:

where

...只需指定您选择的时间间隔和限制值。

请注意,这两个条件(记录限制N,日期限制)处于竞争状态,您可能会获得比N更少的记录,或者除非它们在日期/时间限制内,否则会排除一些消息。

请参阅SQL fiddle

如果您认为日期/时间条件是最小时差,那么将where条件从select * from messages where inserted_at >= ( select max(inserted_at) - interval '90 minute' from messages ) order by inserted_at desc limit 2 转到>=

<=