gpt4 book ai didi

Postgresql 建模范围

转载 作者:行者123 更新时间:2023-11-29 13:32:21 26 4
gpt4 key购买 nike

我希望为一组用户建模,这些用户提供需要不同时间的各种服务,并希望建立在 Postgresql 支持的相对较新的范围日期类型的基础上,使事情变得更加清晰。

Bookings:
user_id|integer
time|tsrange
service_id|integer

Services:
user_id|integer
time_required|integer #in hours

Users:
id|integer

服务因用户而异,有些可能相同,但一个用户需要 2 小时,而另一个用户只需 1 小时。

搜索在给定时间段内或不在给定时间段内发生的预订很容易。我无法确定如何最好地让所有在给定日期有空的用户执行他们的一项或多项服务。

我想我需要找到他们预订范围的倒数,以给定日期的早上 6 点/晚上 8 点为界,然后查看该集合中的最大范围是否适合他们最小的服务,但要弄清楚 SQL 中的表达方式躲着我。

是否有可能进行范围的反转,或者它们是否是解决此问题的更好方法?

最佳答案

问题并不完全清楚,但如果我答对了,您将寻找 lead() 或 lag() 窗口函数来计算可用时隙。如果是这样,这应该会让您走上正确的轨道:

select bookings.*, lead("time") over (order by "time") as next_booking_time
from bookings

http://www.postgresql.org/docs/current/static/tutorial-window.html

关于Postgresql 建模范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20528564/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com