Teradata bteq sql 删除表中带有 min(column) 的重复记录

苏达山人力资源部

我在 Teradata 中有一张表。它有 5 列 A,B,C,D,E 。C 是唯一列,它是 numeric 。我需要通过删除在 C 列中具有最小值的重复记录来清理此表。示例如下

例子

A   B   C   D   E
100 ABC 1   23  24
200 XYZ 4   31  45
100 ABC 3   23  24
300 LMN 6   25  26
200 XYZ 7   31  45

预期输出

A   B   C   D   E
100 ABC 3   23  24
200 XYZ 7   31  45
300 LMN 6   25  26
内维尔

使用 QUALIFY 语句,它允许您使用窗口函数过滤查询的结果集:

SELECT *
FROM yourtable
QUALIFY ROW_NUMBER() OVER (PARTITION BY A ORDER BY C DESC) = 1;

这里的窗口函数在每组不同的A字段上放置一个 row_number(1 到 N),从最高的 C 开始,ORDER BY C DESC然后只选择获得1.


对于其他 RDBMS(以及 Teradata),您可以使用相关子查询:

SELECT * 
FROM yourtable t1
WHERE c = (SELECT max(c) FROM yourtable WHERE t1.a = a);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL中的重复记录

来自分类Dev

删除SQL中的重复记录

来自分类Dev

如何删除SQL中的重复记录?

来自分类Dev

如何从SQL Server删除重复记录?

来自分类Dev

动态SQL删除重复记录的过程

来自分类Dev

消除SQL中的重复记录

来自分类Dev

在Oracle SQL中处理重复记录

来自分类Dev

在PL / SQL中检查重复记录

来自分类Dev

合并SQL Server中的重复记录

来自分类Dev

从 SQL 查询中获取重复记录

来自分类Dev

使用SQL删除表中的重复记录

来自分类Dev

Oracle SQL查询:从表中删除最旧的重复记录

来自分类Dev

在Teradata中,当存在重复记录时,如何仅更新一条记录?

来自分类Dev

从 SQL Server 中的视图中删除重复记录

来自分类Dev

从SQL Server 2012表中删除具有身份的重复记录

来自分类Dev

从 SQL Server 中的表中选择除了重复记录

来自分类Dev

sql使用联接时删除重复记录

来自分类Dev

sql使用联接时删除重复记录

来自分类Dev

SQL:同时删除重复记录和更新外键

来自分类Dev

SQL Server:如何允许在小表上重复记录

来自分类Dev

SQL Server:如何允许在小表上重复记录

来自分类Dev

跨两个表的SQL显示重复记录

来自分类Dev

如何处理SQL中的重复记录?

来自分类Dev

在SQL Server中处理空值和重复记录

来自分类Dev

避免在SQL的自反关系中重复记录

来自分类Dev

找出Sql-server中的重复记录

来自分类Dev

如何处理SQL中的重复记录?

来自分类Dev

避免在SQL的自反关系中重复记录

来自分类Dev

更新除SQL Server表中重复记录之外的所有记录