i need to get the id and days count between days.
x
INSERT INTO Events
(`ID`, `START`, `END`)
VALUES
(2313, '2019-07-29', '2019-08-10'),
(41, '2019-06-22', '2019-07-01'),
(2540, '2019-06-22', '2019-07-02'),
(2234, '2019-06-28', '2019-07-12'),
(2634, '2019-06-30', '2019-07-04'),
(53, '2019-06-30', '2019-07-02'),
(1869, '2019-06-30', '2019-07-15'),
(2132, '2019-07-30', '2019-08-10')
;
my query is
SELECT `ID`
FROM Events
WHERE `START` BETWEEN '2019-07-01' AND '2019-07-31'
AND `END` BETWEEN '2019-07-01' AND '2019-07-31';
i need output as
2313 - 3
41 - 1
2540 - 2
2234 - 12
..
please help me.
Advertisement
Answer
GREATEST returns max value from list, LEAST – min
select ID,
DATEDIFF(LEAST(`END`,'2019-07-31'), GREATEST(`START`, '2019-07-01')) + 1
from events