我有一个包含以下各列的表格
NAME FRIEND
----------------------
Apple Flavour
Flavour Apple
New Banana
Banana Flavour
我想删除例如具有相同组合记录的列
苹果,味道和味道,苹果是一样的。当我们重复这样的组合时,我只希望两个记录中的一个记录。
最佳答案
您可以使用LEAST和GREATEST函数来获取唯一的组合。
例如,
SQL> WITH DATA AS(
2 SELECT 'apple' a, 'flavour' b FROM dual UNION ALL
3 SELECT 'flavour', 'apple' FROM dual UNION ALL
4 SELECT 'new', 'flavour' FROM dual UNION ALL
5 SELECT 'banana', 'fruit' FROM dual
6 )
7 SELECT least(a,b) a,
8 greatest(a,b) b
9 FROM data
10 GROUP BY least(a,b),
11 greatest(a,b)
12 /
A B
------- -------
banana fruit
apple flavour
flavour new
SQL>