查询多个范围内的行

时间:2014-11-20 06:02:24

标签: sql postgresql

我应该如何存储多个startend"关注"日期范围为 post_follow ,并在指定的时间范围内查询所有post_change为 post_id

目前,我有一张桌子:

post_follow

(
  user_id int,
  post_id int,
  start date,
  end date
)

post_changes

(
  post_id: int,
  -- ...
  time timestamp
)

但是,我想添加取消关注/关注帖子的选项,但仍会显示在用户"关注帖子的时间范围内发生的post_changes。

e.g。 关注 @ 1/1/14,取消关注 @ 1/5/14,关注 @ 1/10/14 ...所以,在在这种情况下,我想在2014年1月1日到2014年1月1日以及2014年1月10日到当前日期之间显示随后发布的更改。

1 个答案:

答案 0 :(得分:1)

也许是follow boolean
PostgreSQL的范围类型时间戳范围类型为tsrange,日期范围为daterange
它会使您的查询更容易。

请参阅PostgreSQL文档,了解它们的范围和运算符:

Postgresql Range types
Range operators

相关问题