首页 > 解决方案 > 时间 日期 基于时间的插槽

问题描述

逻辑

  1. 选择时间
  2. 日期

对应于该日期,将显示时间段。

例如

<br/>
Time<br/>
11PM-2PM    3PM-6PM
<br/>
Date<br/>
12Aug 17Aug
<br/>
Time<br/>
11:30PM  1:30PM

我有一个数据库表“时隙”

max students for timeslot 20
1= All slots booked
0= slots are vacant

batch_datetime       class_strength is_booked
2021-07-16 16:30:00    20               1
2021-07-16 10:00:00    15               0
2021-07-15 12:30:00    10               1

当该日期的所有时段都被预订时,我必须显示预订日期的问题。

期望在该日期预订所有插槽时的结果

max students for timeslot 20
1= All slots booked
0= slots are vacant

batch_datetime       class_strength is_booked
2021-07-16              20               1
2021-07-15              10               1

提前致谢

标签: mysql

解决方案


如果我是正确的,你需要类似的东西:

SELECT *  FROM mytable WHERE TIMEDIFF(time1,time2)  IN ( SELECT created_at FROM mytable WHERE created_at BETWEEN '2020-01-01' AND '2021-01-01' AND is_book = 1)

在这里,您从表中选择时间在开始时间和结束时间之间的所有内容,在其中您检查给定的开始和结束日期并且 is_book 等于 1


推荐阅读