IBM大型机论坛索引
 
登录
 
IBM大型机论坛索引 大型机:搜索 IBM Mainframe论坛:常见问题解答 寄存器
 

如何从数据库表中删除重复的记录


IBM大型机论坛 -> DB2
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
安娜那加尔特

新的用户


已加入:2003年10月31日
帖子:5

发布发表:2003年11月27日,星期四,12:55 pm
引用回复

大家好,
如何从数据库表中删除重复的记录。我不需要将这些记录转移到新表中...

我说清楚了..仅使用1个表。期待快速回复。

干杯

AnnaNagar LT团队。
回到顶部
查看用户资料 发送私信
柔佛

专家


已加入:2003年9月12日
帖子:19

发布发表:2003年11月28日星期五上午9:50
引用回复

嗨,

在这里,我有一个查询,该查询在表中显示重复记录。您可以通过将SELECT *替换为DELETE来删除重复项。

该表为Shipment_orders,主键为Shipment,purchase_order和item_sku。
引用:
/ * 1.查询标题* /
选择
* / *请记住不要使用SELECT *并写出字段名称* /

/ * 2.重复的表格* /
SHIPMENT_ORDERS
哪里
EXISTS (
SELECT
NULL
FROM
/ * 3.重复的表,带别名* /
SHIPMENT_ORDERS b
WHERE
/ * 4.使用*自身*连接每个字段。这些字段可能是主键* /
b。[装运] = SHIPMENT_ORDERS。[装运]
AND b。[purchase_order] = SHIPMENT_ORDERS。[purchase_order]
AND b。[item_sku] = SHIPMENT_ORDERS。[item_sku]
GROUP BY
/ * 5.由于存在HAVING,我必须对这些字段进行分组
子句,因为这些是可能的PK * /
b。[装运],b。[购买订单],b。[item_sku]
HAVING
/ * 6.这是决定因素。我们可以控制我们的
从这里输出。在这种情况下,我们要选择记录
ID小于MAX ID * /
SHIPMENT_ORDERS。[id]< MAX(b.[id])
)


这里我们将每个字段与其副本进行比较.GROUP BY子句用于确保数据唯一。
要从表中删除所有重复项,请将SELECT *替换为DELETE FROM。

希望这可以帮助
柔佛
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> DB2

 


类似主题
话题 论坛 回覆
没有新帖 选择多个常量记录 DB2 3
该主题已锁定:您无法编辑帖子或回复。 将匹配的记录写入输出文件 DFSORT / ICETOOL 11
没有新帖 合并两个以上的记录 DFSORT / ICETOOL 15
没有新帖 匹配和不匹配记录使用 DFSORT / ICETOOL 11
没有新帖 删除基于S ...的重复记录 DFSORT / ICETOOL 4
搜索我们的论坛:


回到顶部