Week numbers in MySQL

How to get the week number from a date

To get the ISO week number (1-53) from a date in the column datecol, use SELECT WEEKOFYEAR(datecol) FROM ….

To get the corresponding four-digit year, use SELECT YEARWEEK(datecol, 3) DIV 100 FROM ….

Read more about WEEKOFYEAR() and YEARWEEK() in the MySQL manual.

How to get the number of weeks in a year

To get the number of ISO weeks (i.e. the number of the last week) in a year, get the week number of 28 December in that year using the above logic, i.e. SELECT WEEKOFYEAR(CONCAT(yearcol, '-12-28')) FROM ….

This is based on the fact that the last week of the year always includes 28 December.