我的问题可能听起来很奇怪,但请耐心听我说。这就是我所拥有的:
表产品:
ProductName Cost
Pen A 1.00
Pen A 1.00
Pen B 1.00
Pen A 2.00
Pen C 3.00
Pen C 3.00
Pen C 3.00
如何从中删除真正的重复项?如果您查看数据,您可以看到Pen C有三行数据完全相同。笔A有两行数据相同,一行成本不同。我不想取消“钢笔A”。
下面是一个简单的group by语句:
SELECT ProductName,Cost FROM PRODUCTS GROUP BY ProductName,Cost HAVING COUNT(*) > 1
这不起作用,因为它也会拿起“钢笔A”。
感谢您的帮助。非常感谢。
在清理您喜欢的任何方式之后,您可能想考虑在2个列中创建一个约束索引和/或验证以确保在插入新行之前不存在组合。
祝你好运
您可以使用CTE
与Row_Number()
一起删除Dupes
实例
;with cte as (
Select *
,RN = Row_Number() over (Partition By ProductName,Cost Order By (Select null))
from PRODUCTS
)
Delete from cte where RN>1
更新表
ProductName Cost
Pen A 1.00
Pen B 1.00
Pen A 2.00
Pen C 3.00
不使用联接或子查询的快速方法是创建具有相同结构的表PRODUCTS_TEMP,并仅插入唯一的行:
INSERT INTO PRODUCTS_TEMP
SELECT DISTINCT ProductName,Cost FROM PRODUCTS;
然后,您可以删除PRODUCTS表并将PRODUCTS_TEMP重命名为PRODUCTS:
DROP TABLE PRODUCTS;
ALTER TABLE PRODUCTS_TEMP RENAME TO PRODUCTS;
现在您已经过滤了您的表。
我知道Azure Service Bus有一个重复消息检测功能,可以删除它认为与其他消息重复的消息。我想使用此功能来帮助防止重复传递。 我好奇的是服务如何确定两条消息实际上是重复的: 考虑了消息的哪些属性 是否考虑了消息的内容 如果我发送两条内容相同但消息属性不同的消息,它们是否被视为重复
问题内容: 这个问题已经在这里有了答案 : 8年前关闭。 可能重复: Python:如何查找列表交集? 我在.txt中有两个数据列表 我想找出在两个列表中都出现的名字。我该怎么做? 问题答案: 使用集: 该运营商表示“给我这两个集合的交集” 或者,您可以使用以下方法:
本文向大家介绍如何在PHP中识别服务器IP地址?,包括了如何在PHP中识别服务器IP地址?的使用技巧和注意事项,需要的朋友参考一下 可以使用以下代码行标识服务器IP- 可以使用下面的代码行来标识端口- 对于5.3和更高版本的PHP,可以使用以下代码行- 当运行独立脚本(未通过Web服务器运行)时,可以使用此功能。
问题内容: 如何识别PHP中的服务器IP地址? 问题答案: 像这样的服务器IP: 这是港口
问题内容: 如何编写一个与相同字符(或理想情况下,同一组)的N个重复恰好匹配的表达式?基本上是做什么的,但是有一个重要的限制:如果主题重复N次 以上, 则表达式应该失败。例如,给定和字符串,表达式应该匹配和不。 我不专注于任何特定的方言,可以随意使用任何语言。请不要发布仅适用于此特定示例的代码,我正在寻找一个通用的解决方案。 问题答案: 使用负前瞻 和 负后瞻。 这将是正则表达式:除了Python
我正在运行一个MySQL客户端实用程序,并收到这个众所周知的错误: 服务器时区值“KST”无法识别或表示多个时区。如果要利用时区支持,必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更特定的时区值。 从官方Ubuntu库(mysql Ver 14.14 Distrib 5.7.26)安装了数据库引擎的现成Ubuntu 2019.04。 如何修复它? 附加 不返回任