当前位置: 首页 > 面试题库 >

在Postgres中将间隔间隔为几周

窦成荫
2023-03-14
问题内容

这是关于日期的另一个SQL问题。’‘

我正在使用PHP和Postgres构建日历应用程序,以显示跨越数天,数周甚至数月的事件。每个事件都有一个开始日期和一个结束日期,按范围选择它们不是问题。但是,如果Postgres可以在每周的第一天拆分多周的活动,这对我很有用。有人告诉我可以使用GROUP BY和来完成此操作EXTRACT,但是我对SQL的理解还不够好。

问题是:可以做到这一点,精确的查询是什么样的?目前我正在使用SELECT * FROM events WHERE (range) OVERLAPS (range); 然后在PHP中进行拆分,但这显然不是最佳选择。


问题答案:

您可以使用Postgres函数generate_series。在8.3及更早版本中,请执行以下操作

select current_date + s.a as dates from generate_series(0,14,7) as s(a);

在8.4中,您还可以

SELECT * FROM generate_series('2008-03-01 00:00'::timestamp,
                              '2008-03-04 12:00', '10 hours');


 类似资料:
  • 问题内容: 我正在尝试将整数形式的分钟转换为postgres中的间隔 是他们的任何功能将帮助我将其转换为间隔还是我应该将其除以60并获得最终结果 问题答案: 最快的方法是 所以看起来像这样(@Teddy建议) 或者, 并不是说这是最干净的,如果速度不是问题,我更喜欢提到的方法@a_horse_with_no_name

  • 假设我有一个这样的范围列表 现在我想找到一个范围,比如。我的算法应该给我这个范围的所有范围。例如,这个的输出应该是 <代码>输出-[1,3]、[2,5]、[4,6]、[8,10] 我该如何着手解决这个问题? PS:我知道段树可能会有所帮助。我可以在其中构建树来存储间隔并查询位于间隔内的Point,但如何在给定间隔的情况下获取所有间隔。

  • 让事件反复发生 用法 Your browser does not support the video tag. 案例:坏掉的小台灯 功能:不停闪烁 工作原理 在配置项中可以选择每隔多少秒反转一次 例:制作一个闪烁的灯 例:温度过高时会发出“哔哔”声报警

  • # interval(date) Alias for interval.floor(date). For example, d3.time.day(new Date()) returns midnight (12:00 AM) on the current day, in local time. # interval.floor(date) Rounds down the specified da

  • 我正在尝试开发一个滑块,如果用户没有点击后退或前进按钮,它每5秒就会改变一次。 但是如果他(用户)这样做了,间隔会触发多次。。。为什么? 我将间隔保存在一个变量中,并清除该变量,因此我不知道为什么这不起作用。。。但是看看你自己: }); 感谢阅读;-)

  • 我有一组不重叠的,不相邻的区间,例如[{10,15},{30,35},{20,25}]。它们没有排序,但如果需要,我可以对它们进行排序。 现在,我得到了一些新的区间,例如{5,32},并希望生成一组新的区间来描述差异:这个新区间所覆盖的范围不在该集合中。在这个例子中,答案是:[{5,9},{16,19},{26,29}]。 计算这个的快速算法是什么?请注意,集合中通常有1个,有时有2个,很少有3个