Функция WEEK()
принимает необязательный второй параметр для указания начала недели:
Эта функция возвращает номер недели для даты. Форма с двумя аргументами WEEK()
позволяет указать, начинается ли неделя в воскресенье или понедельник и должно ли возвращаемое значение находиться в диапазоне от 0 до 53 или от 1 до 53.
Однако его можно установить только на воскресенье или понедельник.
ОБНОВЛЕНИЕ: В дополнение к комментариям ниже, вы можете рассмотреть возможность добавления нового столбца в вашу таблицу, чтобы он действовал как поле группировки на основе WEEK(DATE_ADD(date INTERVAL x DAY))
, как предлагается в комментариях. Возможно, вы захотите создать триггеры для автоматической генерации этих значений при каждом обновлении поля date
и при добавлении новых строк. После этого вы сможете создать пригодный для использования индекс для этого нового поля.