如何使用依赖于列在SQL Server中执行自动递增
问题描述:
我试图找出如何做基于在不同的列值的变化自动递增如下图所示如何使用依赖于列在SQL Server中执行自动递增
这就是我现在越来越
OtherID | AUTOINCREMENT
--------+---------------
A | 1
A | 2
B | 3
C | 4
D | 5
D | 6
这就是我所希望的
OtherID | AUTOINCREMENT
--------+---------------
A | 1
A | 1
B | 2
C | 3
D | 4
D | 4
答
这是SQL Server在Windows功能
order by OtherID
这里的工作假设你的OtherID
是你说的是...一个字符以A开头并且移动字母表。否则,你可以用(select null)
select
OtherID,
row_number() over (partition by OtherID order by (select null)) as AutoIncrement
from
SomeTable
编辑替换它
select
OtherID,
dense_rank() over (order by cast(left(OtherID,len(OtherID) - 1) as int)) as AutoIncrement
from
SomeTable
答
试试这个 使用row_number()
select Row_number() over(partition by OtherID order by
(select 1)),AUTOINCREMENT from mytable
你有什么期望得到A,A,B,A ? 1,1,2,1或1,1,2,3? – user3012759