我在MySQL数据库中有一个表,其中包含以下字段:
Name From_Date To_Date
Mr. Spencer 2018-09-01 2018-09-25
我喜欢统计他工作的星期一。例如,结果必须为4。 2018-09-01至2018-09-25,在这些日期之间的四个星期一(09-03、09-10、09-17、09-24)
但是我不知道如何。也许有人可以帮助我。
答案 0 :(得分:1)
SELECT
(DATEDIFF('2018-09-25', '2018-09-01') # Number of days between start and end
+ 7 # Add a week to account for first Monday
- (9 - DAYOFWEEK('2018-09-01')) % 7) # Days between start and next Monday
# (0 if the provided date is a Monday)
# 9 because DAYOFWEEK() returns 2 for Mon
DIV 7; # Divide by seven and ignore the remainder