去重

阅读(2) 标签: 去重,

描述:

根据指定的一个或多个列,保留唯一记录。可选删除有重复的记录、删除不重复的记录。

语法:

<> <方式> [分区 <分区字段>]

参数:列

用于判断重复的一个或多个列。必要参数,无此参数时表示参数值是上下文中的焦点列;类型是标识或标识集合;参数名必须省略。

参数:方式

去重的三种方式。非必要参数;枚举类型;参数名必须省略,参数值不能省略。枚举值如下:

保留唯一:缺省值,N条记录重复时去掉第2N条,只保留第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

参数:分区

按分区进行去重,各区之间互不影响,概念上类似SQLPARTITION BY。非必要参数;标识类型;参数名不能省略。