这一年分为12个月。我们可以在四周内分解一个月。
在MySQL中,如何返回本月的一周? (例如:第一周:2个条目,第二周:5个条目,第三周:3个条目;第四个星期:8个条目)
使用Week和WeekOfYear无法获得所需的结果,因为函数返回周数YEAR,而不是月份。
答案 0 :(得分:10)
使用MySQL内置函数周查找年份的周数,然后减去该月第一天的周数。
SELECT WEEK('2012-02-20') - WEEK('2012-02-01')
文档中有很多选项可以自定义调用以满足您的需求,但我希望我的示例可以让您了解可用的内容。
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_week
答案 1 :(得分:8)
FLOOR((DayOfMonth(dateCol)-1)/7)+1
我想明确指出,这可能不是分割数据的好方法 - (请参阅评论),但这样可以让您尽可能接近。
答案 2 :(得分:2)
每月的一周(开始不完整的一周作为一个整体计算)
select ceiling((day(now()) -
(6 - weekday(date_format(now(),'%Y-%m-01'))))/7)
+ case when 6 - weekday(date_format(now(),'%Y-%m-01'))> 0
then 1 else 0 end week_of_month;
答案 3 :(得分:0)
SELECT WEEK(my_date_field,5) - WEEK(DATE_SUB(my_date_field,
INTERVAL DAYOFMONTH(my_date_field) - 1 DAY),5) + 1
或者您可以看到here。
答案 4 :(得分:0)
TO_CHAR(my_date, 'W')
返回特定月份的确切星期数。
答案 5 :(得分:0)
选择 (WEEK('2020-09-27')-WEEK(DATE_FORMAT('2020-09-27','%Y-%m-01')))+ 1