Я нахожусь на SQL Server, и у меня есть таблица, содержащая такие значения:
Date | Key
2017-06-01 | X
2017-06-15 | Y
2017-06-01 | X
2017-06-05 | X
2017-05-23 | Z
2017-06-05 | Z
2017-04-10 | Z
2017-04-10 | Y
и в запросе мне нужно указать количество недель, содержащихся в каждом ключе с начальной датой: 2017-03-27
Итак, учитывая наш предыдущий пример, ожидаемый результат будет:
X | 2
Y | 2
Z | 3
Это потому, что хотя 01/06 и 05/06 (две даты, содержащиеся в X) разнесены всего на 5 дней, они находятся на двух разных неделях (с понедельника по воскресенье), если считать от 27/03. Количество записей, относящихся к определенному ключу, не имеет значения, вписывается только число недель, связанных с этим ключом.