当前位置: 首页 > 面试题库 >

将相同的ID分配给SQL Server中的重复项

宰父浩漫
2023-03-14
问题内容

我想创建一个更新查询,该查询将为表中的值分配增量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)


 类似资料:
  • 这是我拥有的数据帧的简化版本: 在这个 df 中,row.names 是唯一的 ID(我知道它打破了整洁数据的规则)。 在示例中,我们可以看到行id1和行id2是重复的。 我想做的是确定它们是重复的,并为这些重复项分配一个唯一的组名称。但请注意,将有多行彼此重复。 我希望的产出是: 有什么想法吗? 编辑: 我的原始数据示例:

  • 我有一个表,它类似于自动递增,我尝试这样做:在一个订单表中插入例如您的id、产品名称、价值和交货地址,我需要它在另一个名为订单id的表中,并将其插入订单详细信息中。使用这种方法

  • 问题内容: 这给出了预期的结果 这有效 但是如果我们将其更改为 我收到“ TypeError:无法将复数转换为浮点数”。 如果现在我们省略显式的,我将得到“ ValueError:设置具有序列的数组元素”。 有人可以解释发生了什么,以及如何做到无误吗?我迷路了。 问题答案: 要插入complex或in ,您显然需要将其视为数组,因此可以将其索引或分配给的一个切片: 看来NumPy无法正确处理这种情

  • 在这种情况下,字符串文本存储在只读存储器中。 在这种情况下,字符串文本存储在可写内存中。 为什么分配的内存与两个字符串文字有差异?

  • 问题内容: 我发现以下陈述: ](https://addyosmani.com/backbone-fundamentals/#getting-set-up) 另外,我读到:该属性等效于,并且等效于。在TodoView示例的render方法中,我们看到用于设置元素的HTML,并用于查找类“edit”的子元素。 问题答案: 和之间有什么区别? 该视图属性 可以从DOM选择器字符串或Element解析;

  • 我想知道如何防止这种情况发生? 问题是,创建对象剥离类装饰器,构造函数逻辑等的对象。如何明确防止此行为? 当涉及到像这样的对象时,还有另一个反序列化问题。有时,我有这样的课程: 像这样的类必须通过<code>JSON反序列化。解析(“一些字符串”)但反序列化后,它们也会作为“从头开始的对象”出现。所以,任何装饰器都不存在了,任何构造器逻辑都不存在,元也不存在了。例如。