sql - Need help numbering rows -
i'm working t-sql , need order result set in custom manner. consider following table , query:
create table deleteme (col1 int) insert deleteme values (0), (2), (2), (3), (4), (4), (4) select row_number() on (order col1) orderby, col1 deleteme order col1 returning:
orderby col1
1 0
2 2
3 2
4 3
5 4
6 4
7 4
however, need this:
orderby col1
1 0
2 2
2 2
3 3
4 4
4 4
4 4
essentially, each value of col1 same, orderby value should same. orderby attribute needs start @ 1 , sequential. if deleted record col1 = 0, result again start @ 1:
orderby col1
1 2
1 2
2 3
3 4
3 4
3 4
i've been playing partition , other things , i'm stumped @ point. appreciated.
use dense_rank:
select dense_rank() on (order col1) orderby, col1 deleteme order col1
Comments
Post a Comment