Я ищу SELECT, который даст мне «счетчик последовательности». Возьмите вид спорта по вашему выбору, и я хочу знать, сколько игр у игрока есть, например, в цели (хоккей, футбол) или в хите (бейсбол).
Итак, у меня есть этот стол DaysData
INSERT @DaysData(PlayerID, GameDate, GoalsInGame)
VALUES
(100, '20180105', 0),
(100, '20180107', 1),
(100, '20180109', 1),
(100, '20180111', 2),
(100, '20180113', 1),
(100, '20180115', 0),
(100, '20180117', 0),
(100, '20180118', 1),
(100, '20180120', 1),
(100, '20180122', 3),
(100, '20180124', 2),
(100, '20180125', 1),
(100, '20180127', 0),
(100, '20180129', 0),
(100, '20180130', 1);
Итак, я хочу кое-что сказать мне: игрок 100
- имеет последовательность из 4 игр с целью между 20180107 и 20180113 (делая 5 голов во время этой серии)
- и последовательность из 5 игр с целью между 20180118 и 20180125 (делая 8 голов во время этой серии)
- и, наконец, последовательность из 1 игры с целью между 20180130 и 20180130
CountGameSequence , DateFrom , DateTo
4 , 20180107 , 20180113
5 , 20180118 , 20180125
1 , 20180130 , 20180130
Я пробую много вещей с LEAD, LAG, RowNumber () и т. Д. ... Я никогда не нахожу способ получить хороший запрос.