'How to calculate weekends of time range using MySQL
I need to calculate weekends of time range using MySQL.
This is what I have so far(about calculate working days but i want to calculate weekends):
select
(floor(days / 7)* 5
+ days%7
- case
when 6 between wd and wd + days%7 - 1 then 1
else 0
end
- case
when 7 between wd and wd + days%7 - 1 then 1
else 0
end) as result
from
(
select
abs(datediff('2022-05-15', '2022-05-13')) + 1 as days,
weekday('2022-05-13') + 1 as wd ) as a;
Hope I explained well...
Thanks.
Solution 1:[1]
select
(floor(days / 7)* 2
+ case
when 6 between wd and wd + days%7 - 1 then 1
else 0
end
+ case
when 7 between wd and wd + days%7 - 1 then 1
else 0
end) as result
from ( select abs(datediff('2022-05-15', '2022-05-13')) + 1 as days, weekday('2022-05-13') + 1 as wd ) as a;
Maybe this will work. Have a try.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Li Yong |