[英]mysql query between days and calculate days between dates
我需要獲取ID和天數之間的天數。
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')
;
我的查詢是
SELECT `ID`
FROM Events
WHERE `START` BETWEEN '2019-07-01' AND '2019-07-31'
AND `END` BETWEEN '2019-07-01' AND '2019-07-31';
我需要輸出為
2313 - 3
41 - 1
2540 - 2
2234 - 12
.....
請幫我。
GREATEST返回列表中的最大值,最小-最小值
select ID,
DATEDIFF(LEAST(`END`,'2019-07-31'), GREATEST(`START`, '2019-07-01')) + 1
from events
使用DATEDIFF()函數。
SELECT `id`, DATEDIFF(`start`, `end`)
FROM `events`
WHERE
`start` BETWEEN '2019-07-01' AND '2019-07-31' AND
`end` BETWEEN '2019-07-01' AND '2019-07-31';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.