У меня возникли проблемы с вычислением максимума row_number в моем случае sql.
Я объясню это непосредственно на примере SQL Fiddle, так как я думаю, что так будет быстрее понять: SQL Fiddle
- Столбцы «OrderNumber», «HourMinute» и «Code» предназначены только для представления моей таблицы и, следовательно, не должны иметь значения для целей кодирования.
- Столбец «DateOnly» содержит даты
- Столбец «Телефон» содержит телефоны моих клиентов
- Столбец «Покупки» содержит количество покупок, совершенных клиентами за последние 12 месяцев. Обратите внимание, что это значение предоставляется для каждой даты, поэтому период времени в 12 месяцев относится к дате, которую мы оцениваем.
Наконец, я пытаюсь создать столбец «ПРЕДЫДУЩИЕ ПОКУПКИ», в котором подсчитывается, сколько раз цифра, указанная в столбце «Покупки», появлялась за предыдущие 12 месяцев (для каждого телефона).
Вы можете увидеть на примере SQL Fiddle, чего я добился до сих пор. Столбец «ПРЕДЫДУЩИЕ ПОКУПКИ» выдает то, что я хочу, однако он также выдает более низкие значения (например, мне нужно только максимальное значение).
Например, вы можете видеть, что строки 4 и 5 дублируются, одна с «ПРЕДЫДУЩИМИ ПРИОБРЕТЕНИЯМИ» со значением 1, а другая со значением 2. В данном случае я не хочу иметь 4-ю строку.
Хотя я хотел заменить row_number чем-то вроде max(row_number), но я не смог его создать (уже просмотрел аналогичные сообщения в stackoverflow...).
Это должно быть реализовано в SQL Server 2012.
Заранее спасибо.
Purchases
бытьint
? (2) Неясно насчетPREVIOUSPURCHASES
. Не могли бы вы опубликовать необходимый результат на основе ваших данных Fiddle? - person PM 77-1   schedule 10.04.2013