赞
踩
1. 使用DISTINCT对查询结果去重
语法:SELECT DISTINCT [去重对象列], [列2], [列3].... FROM [表名]
例子:
1.1 原始数据
1.2 对ROLE(角色名)去重
注意点:查询的列必须保证除了被去重的列以外,其他列没有重复的值。
例如原始数据中POSITION列也有重复值,所以此处不查询POSITION列
1.3 对REGION(地区)列去重
2. 使用LISTAGG对查询结果合并
语法:SELECT [列1],
[列2],
LISTAGG([合并对象列], '[分割符]') WITHIN GROUP(ORDER BY [排序列]) AS [别名]
FROM [表名]
GROUP BY [列1], [列2]
例子:
2.1 原始数据
同【1.1 原始数据】
2.2 对POSITION(位置)列合并,以【;】间隔
2.2 对ROLE(角色)列合并,以【,】间隔
3.使用DISTINCT + LISTAGG对查询结果去重、合并
例子:
3.1 原始数据
同【1.1 原始数据】
3.2 对ROLE(角色)列去重合并,以【&】间隔,以REGION(地区)排列
3.3 对ROLE(角色)列去重合并,以【 and 】间隔,以SEX(性别)排列
【全文完】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。