我有一个可以作为主键的两个ID
SID DEFECT_ID
1 1
1 2
1 3
1 4
1 5
DEFECT_ID
是自动增量SID
是静态的,可以是另一个值,如1或2或3
当sid是另一个像这样的值时,我需要重新设置
SID DEFECT_ID
1 1
1 2
1 3
1 4
1 5
2 1
2 2
2 3
3 1
3 2
1 6
1 7
可以在sql server中设置吗?
答案 0 :(得分:1)
可能有办法做你要问的事情,但我觉得你可能会让它变得比它需要的更复杂。
通常,您不会尝试像标识字段那样“重新播种”。相反,你最终得到这样的输出:
SID DEFECT_ID
1 1
1 2
1 3
1 4
1 5
2 6
2 7
2 8
3 9
3 10
1 11
1 12
这就是关系数据库通常如何做到并试图“反对谷物”只是为每个唯一的SID重新启动数字将是困难和容易出错。
答案 1 :(得分:1)
您可以使用OVER Clause(T-SQL)
获取表格中每个ID的订单号
SELECT ID
,row_number() OVER (
PARTITION BY ID ORDER BY id ASC
) value
FROM table_name