add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
select version();
version()
8.0.27
CREATE TABLE ThatLooksLikethis (`Date` date, `From` VARCHAR(40), `To` VARCHAR(40));
INSERT INTO ThatLooksLikethis VALUES
('2021-01-01', 'Open' , 'In progress'),
('2021-01-03', 'In progress','In review'),
('2021-01-10','In review','Done'),
('2021-01-15','Done','Resolved');
SELECT * FROM ThatLooksLikethis;
Date From To
2021-01-01 Open In progress
2021-01-03 In progress In review
2021-01-10 In review Done
2021-01-15 Done Resolved
-- First determine next date
SELECT
`Date`,
COALESCE(LEAD(`Date`) OVER (ORDER BY `Date`),`Date`) as NextDate,
`From`,
`To`
FROM ThatLooksLikethis;
Date NextDate From To
2021-01-01 2021-01-03 Open In progress
2021-01-03 2021-01-10 In progress In review
2021-01-10 2021-01-15 In review Done
2021-01-15 2021-01-15 Done Resolved
-- Option1
SELECT
DATEDIFF(COALESCE(LEAD(`Date`) OVER (ORDER BY `Date`),`date`),`Date`) as 'Time spent in phase',
`From`
FROM ThatLooksLikethis;
Time spent in phase From
2 Open
7 In progress
5 In review
0 Done
-- Option2
SELECT
DATEDIFF(`Date`,COALESCE(LAG(`Date`) OVER (ORDER BY `Date`),`date`)) as 'Time spent in phase',
`From`
FROM ThatLooksLikethis;
Time spent in phase From
0 Open
2 In progress
7 In review
5 Done