【发布时间】:2020-12-19 12:53:48
【问题描述】:
早安
我试图并试图理解为什么这个查询在 Group By 上给出了通常的错误。我想找到重复的行并删除它们。我在 Microsoft 的 MSDN 上找到了这个查询,但尽管如此,它仍然在 Group By 上给我这个错误。 主表有3个字段“Id,Item,Description”,表名是“tlbDescription”,这个查询理论上应该创建一个名为“duplicate_table”的表,在“duplicate_table”中插入重复值,然后从表中删除值“tlbDescription”,最后删除表“duplicate_table”。 如果有人可以帮我一把 谢谢 法布里齐奥 这是查询:
SELECT DISTINCT *
INTO duplicate_table
FROM [tlbDescrizione]
GROUP BY [Articolo]
HAVING COUNT([Articolo]) > 1
DELETE [tlbDescrizione]
WHERE [Articolo] IN (SELECT [Articolo] FROM duplicate_table)
INSERT [tlbDescrizione]
SELECT * FROM duplicate_table
DROP TABLE duplicate_table
【问题讨论】:
-
您是否在每个查询的末尾尝试过分号?您的问题以单数形式提到“查询”,但您的代码有四个语句。
-
您使用的是哪个 DBMS?您的第一个查询没有意义。您可以合法地按
Articolo分组并选择所有列的唯一方法是如果Articolo是主键,但它是主键,那么GROUP BY和DISTINCT都是多余的。