我应该如何存储多个start
和end
"关注"日期范围为 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日到当前日期之间显示随后发布的更改。
答案 0 :(得分:1)
也许是follow boolean
?
PostgreSQL的范围类型时间戳范围类型为tsrange
,日期范围为daterange
。
它会使您的查询更容易。
请参阅PostgreSQL文档,了解它们的范围和运算符: