Итак, вы хотите, чтобы месяц считался месяцем, который на месяц позже, чем четырнадцать дней назад. Итак, с сегодняшнего дня (17 декабря) мы возвращаемся на 14 дней к 3 декабря, а затем добавляем месяц, чтобы сделать его 3 января. Таким образом, сегодня считается январь.
Обычный метод усечения месяца - DATEADD(month, DATEDIFF(month, 0, someDate), 0)
. Я воспользуюсь этим, но сначала возьму четырнадцать выходных и добавлю один, когда добавлю месяц.
SELECT
DATEADD(month, 1+DATEDIFF(month, 0, DATEADD(day, -14, yourDate)),0) as theMonth,
SUM(yourInt) as Total
FROM yourTable
GROUP BY DATEADD(month, 1+DATEDIFF(month, 0, DATEADD(day, -14, yourDate)),0);
Удачи в этом ... вы можете начать с чего-то простого, например:
SELECT
DATEADD(month, 1+DATEDIFF(month, 0, DATEADD(day, -14, yourDate)),0) as theMonth
, *
FROM yourTable
... чтобы вы могли понять логику расчета месяца.