应为identity(int,1,1)表示新列是标识列
也就是自增加的字段;但对于每个表只能创建一个标识列;identity
只能用于select
into;create
table
里所以zds0707(周) 方法不可行;
要在 SQL 中根据一列的数据填充另一列的编号,可以使用窗口函数。例如,如果要根据列1填充列2,可以使用如下 SQL 语句:
SELECT
列1,ROW_NUMBER() OVER (PARTITION BY 列1 ORDER BY 列1) 列2FROM 表A
其中,ROW_NUMBER()是一个窗口函数,它根据给定的分组条件(在本例中为列1),为每一行生成一个唯一的行号。
结果应该类似于下面这样:
列1 列2
aa1
aa1
bb1
cc1
注意,由于没有给定排序条件,因此行号的生成顺序是不确定的。如果要按照列1的值的字母顺序为每一行生成行号,可以将上面的语句更改为:
SELECT
列1,ROW_NUMBER() OVER (PARTITION BY 列1 ORDER BY 列1) 列2FROM 表AORDER BY 列1
结果应该类似于下面这样:
列1 列2
aa1
aa1
bb2
cc3
希望这些信息能对你有所帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)