首先,对不起问题的措辞。我不太清楚如何表达它。希望下面的例子很清楚。
如果我有桌子
Id | Type | Order
0 | Test | null
1 | Test | null
2 | Blah | null
3 | Blah | null
我想把它变成这个
Id | Type | Order
0 | Test | 1
1 | Test | 2
2 | Blah | 1
3 | Blah | 2
所以我按'类型'对表进行分组,并逐步为'order'分配一个数字。它将从每种类型的1开始。
我应该怎么做呢?
我正在使用的是Sybase 15。
答案 0 :(得分:1)
select
Id,
Type,
row_number() over(partition by Type order by Id) as [Order]
from YourTable
您应该使用ROW_NUMBER功能来获取您正在寻找的内容。
ROW_NUMBER (Transact-SQL)
返回结果分区中行的序号 设置,从1开始,每个分区的第一行。