Функции Oracle Analytic - сброс условия использования окон

У меня есть следующий набор данных.

create table t1 (
  dept number,
  date1 date
);

Table created.

insert into t1 values (100, '01-jan-2013');
insert into t1 values (100, '02-jan-2013');
insert into t1 values (200, '03-jan-2013');
insert into t1 values (100, '04-jan-2013');
commit;

Моя цель - создать столбец ранга, который будет сбрасываться при каждом изменении отдела. Ближайший столбец, для которого я могу использоватьразделить на " пункт умный, но тот выигралдайте мне желаемый результат.

SQL> select * from t1;

      DEPT DATE1
---------- ---------
       100 01-JAN-13
       100 02-JAN-13
       200 03-JAN-13
       100 04-JAN-13

select dept,  
       date1,
       rank () Over (partition by dept order by date1) rnk
from t1
order by date1;

      DEPT DATE1            RNK
---------- --------- ----------
       100 01-JAN-13          1
       100 02-JAN-13          2
       200 03-JAN-13          1
       100 04-JAN-13          3

Желаемый вывод выглядит следующим образом. Последний rnk = 1, потому что запись за январь-04 является первой записью после изменения.

      DEPT DATE1            RNK
---------- --------- ----------
       100 01-JAN-13          1
       100 02-JAN-13          2
       200 03-JAN-13          1
       100 04-JAN-13          1  

Ответы на вопрос(3)

Ваш ответ на вопрос