我想创建一个更新查询,该查询将为表中的值分配增量ID。但是,重复的值应收到相同的ID。
MyTable:
pk Word ID 1 Dummy null 2 Dummy null 3 dummy null 4 dummy null 5 Hello null 6 Hello null 7 Test7 null
预期结果:
pk Word ID 1 Dummy 1 2 Dummy 1 3 dummy 2 4 dummy 2 5 Hello 3 6 Hello 3 7 Test7 4
提前致谢!
您可以使用单词的自动递增ID字段创建一个表。
MySQL:
CREATE TABLE secondTable ( id int NOT NULL AUTO_INCREMENT, word varchar(255) NULL, PRIMARY KEY (id) );
MSSQL:
CREATE TABLE [secondTable] ( [id] int NOT NULL IDENTITY(1,1) , [word] varchar NULL , PRIMARY KEY ([id]) )
之后,您可以在secondTable中插入word的不同值。
INSERT INTO secondTable (word) SELECT distinct word FROM MyTable;
最后,您可以使用分组ID更新表格:
UPDATE MyTable SET ID = (SELECT id from secondTable where MyTable.word = secondTable.word)