由于MS SQL2000不支持RANK函数,但在实际使用过程中,有时又有需要,所以记录下来,以供参考
1、select (select count(id) from table whereid<=a.id) as '序号',col1,col2 from table as a
2、selectbom_no,part_item_no,seq_no=1+isnull((selectcount(*)fromprpartwherebom_no=a.bom_noandrecnum<a.recnum),0)
fromprparta
这个示例直接引用了公司的数据。
如果是sql2005以上,效率就快的多了。
1、select bom_no,RANK() over (order by id) as 'rank' fromPRPART order by rank
2、select bom_no,RANK() over ( PARTITION BYbom_no order by seq_no) as 'rank' fromPRPART