Я пытаюсь создать запрос, который отображает столбец, который увеличивается (рассчитывается) для каждого набора данных группы. Общий порядок результатов не имеет значения, за исключением того, что вхождение должно учитываться по дате (самое старое = 1) и должно сбрасываться для каждого набора сгруппированных данных. Вот пример таблицы ProductInteractions.
+---------+------------+----------------+------------+
| User ID | Product ID | Date Purchased | Occurrence |
+---------+------------+----------------+------------+
| user15 | b1290 | 1/1/2012 | 1 |
| user15 | b1290 | 1/15/2013 | 2 |
| user15 | b1290 | 3/15/2019 | 3 |
| user15 | a7983 | 7/22/2017 | 1 |
| user2 | a7983 | 12/3/2015 | 1 |
| user2 | a7983 | 5/6/2016 | 2 |
| user3 | a7983 | 3/24/2017 | 1 |
+---------+------------+----------------+------------+
Исходные данные:
+---------+------------+-----------+
| User ID | Product ID | Date |
+---------+------------+-----------+
| user15 | b1290 | 1/1/2012 |
| user2 | a7983 | 5/6/2016 |
| user15 | b1290 | 3/15/2019 |
| user15 | a7983 | 7/22/2017 |
| user2 | a7983 | 12/3/2015 |
| user15 | b1290 | 1/15/2013 |
| user3 | a7983 | 3/24/2017 |
+---------+------------+-----------+
Обратите внимание, что в приведенном выше примере пользователь 15 и продукт b1290 имеют 3 взаимодействия. Важно, чтобы первое вхождение было связано с начальной датой взаимодействия и чтобы последующие взаимодействия учитывались по возрастанию.
Я полагаю, что основным форматом запроса будет:
SELECT [User ID],
[Product ID],
[Date Purchased]
-- Something here utilizing IDENTITY, maybe?
FROM ProductInteractions
GROUP BY [User ID],
[Product ID];