【发布时间】:2020-10-15 19:02:09
【问题描述】:
我正在使用 Mysql 数据库,并且我有时隙表,基于允许的计数 (N) 记录的特定日期的不同时隙应该更新为有效。
CREATE TABLE tmpSlots(
SlotID INT AUTO_INCREMENT PRIMARY KEY ,
StartSlot DATETIME,
EndSlot DATETIME,
Valid BOOLEAN DEFAULT 0
);
insert into tmpSlots VALUES(1,'2020-08-01 08:30:00', '2020-08-01 09:10:00',0 );
insert into tmpSlots VALUES(2,'2020-08-01 09:30:00', '2020-08-01 10:10:00',0 );
insert into tmpSlots values(3,'2020-08-01 10:30:00', '2020-08-01 11:10:00',0 );
insert into tmpSlots values(4,'2020-08-01 12:30:00', '2020-08-01 13:10:00',0 );
insert into tmpSlots values(5,'2020-08-07 08:30:00', '2020-08-07 09:10:00',0 );
insert into tmpSlots values(6,'2020-08-07 09:30:00', '2020-08-07 10:10:00',0 );
insert into tmpSlots values(7,'2020-08-07 10:30:00', '2020-08-07 11:10:00',0 );
insert into tmpSlots values(8,'2020-08-07 12:30:00', '2020-08-07 13:10:00',0 );
DECLARE permitcount INT ;
SET permitcount =2;
作为 permitcount,因此每天只允许 2 个插槽,前 2 条记录应更新为有效 =true 预期结果
UPDATE tmpSlots t1 SET valid=1
FROM (
...........
.
GROUP BY Date(StartSlot)
) AS sq
WHERE
谁能帮我解决这个问题
【问题讨论】:
-
已编辑我正在使用 mysql 数据库 @Gordon Linoff
-
如果 startTime 和 endTime 在不同的日期怎么办?
标签: mysql sql database group-by