描述:
根据指定的一个或多个列,保留唯一记录。可选删除有重复的记录、删除不重复的记录。
语法:
<列> <方式> [分区 <分区字段>]
参数:列
用于判断重复的一个或多个列。必要参数,无此参数时表示参数值是上下文中的焦点列;类型是标识或标识集合;参数名必须省略。
参数:方式
去重的三种方式。非必要参数;枚举类型;参数名必须省略,参数值不能省略。枚举值如下:
保留唯一:缺省值,N条记录重复时去掉第2至N条,只保留第1条。
删除重复:删除有重复的记录,相当于只保留所有单条的记录。
删除不重复:删除不重复的记录,即删除所有单条的记录。
例子:
超市订单例子表如下
订单ID 产品 销售员 订单金额
1 西瓜 张三 100
2 西瓜 张三 200
3 西瓜 张三 300
4 苹果 张三 400
5 苹果 张三 500
6 西瓜 李四 600
目标:按产品和销售员字段去掉重复记录。NLC:去重 产品,销售员
结果:
订单ID 产品 销售员 订单金额
1 西瓜 张三 100
4 苹果 张三 400
6 西瓜 李四 600
例子:
基于上面的超市订单例子表,按产品和销售员字段删除重复的记录。NLC:去重 产品,销售员; 删除重复
结果:
订单ID 产品 销售员 订单金额
6 西瓜 李四 600
例子:
基于上面的超市订单例子表,按产品和销售员字段删除不重复的记录。NLC:去重 产品,销售员; 删除不重复
结果:
订单ID 产品 销售员 订单金额
1 西瓜 张三 100
2 西瓜 张三 200
3 西瓜 张三 300
4 苹果 张三 400
5 苹果 张三 500
参数:分区
按分区进行去重,各区之间互不影响,概念上类似SQL的PARTITION BY。非必要参数;标识类型;参数名不能省略。