I have the following data set.
create table t1 (
dept number,
date1 date
);
Table created.
insert into t1 values (100, \'01-jan-2013\');
insert into t1
This could have been a case for model clause, but unfortunately it dramatically underperforms on significant amount of rows compared to Gordon's query.
select dept, date1, rank from t1
model
dimension by ( row_number() over(order by date1) as rn )
measures( 1 as rank, dept, date1 )
rules (
rank[1] = 1,
rank[rn > 1] =
case dept[cv()]
when dept[cv()-1] then rank[cv()-1] + 1
else 1
end
)
http://www.sqlfiddle.com/#!4/fc339/132