我正在使用这个代码在小时内得到输出
使用下面的代码。
导入脚本创建表`customerevent`(`id`int NOT NULL,`createddate`datetime DEFAULT NULL,`modifiedate`datetime DEFAULT NULL,主键(`id`));
向CustomerEvent
(ID
,CreatedDate
,Modifiedate
)中插入值(“3”,“2020-01-08 12:00:00”,“2020-01-10 11:30:00”);
创建表holidays
(id
int NOT NULL AUTO_INCREMENT,holiday
datetime DEFAULT NULL,account_of
varchar(45)DEFAULT NULL,主键(id
));
我的代码:
SELECT d.Id, d.Createddate, d.Modifiedate,
SUM((TIMESTAMPDIFF(day, start_date, end_date) -
COALESCE((SELECT COUNT(*) FROM holidays WHERE holiday BETWEEN Createddate AND Modifiedate), 0))* 8 +
TIMESTAMPDIFF(minute, TIME(start_time), TIME(end_time)) / 60) task_time
FROM customerevent d
JOIN ( SELECT Id, DATE(Createddate) start_date, DATE(Modifiedate) end_date
, GREATEST('10:00:00', LEAST('18:00:00', TIME(Createddate))) start_time
, GREATEST('10:00:00', LEAST('18:00:00', TIME(Modifiedate))) end_time
FROM customerevent) dd ON dd.Id = d.Id GROUP BY d.Id;
目前产量:15.500预期产量:15h 30m
我们每天只有8个工作小时,所以是15.500
试试这个
创建表CustomerEvent
(ID
int不为空,CreatedDate
CURRENT_TIMESTAMP()为空,ModifiedATe
CURRENT_TIMESTAMP()),主键(ID
))