【发布时间】:2018-04-27 17:20:50
【问题描述】:
我需要在 redshift 数据库中编写查询以删除列中的重复项。
select regexp_replace('GiftCard,GiftCard', '([^,]*)(,\2)+($|,)', '\2\3')
预期结果:GiftCard
得到的结果:GiftCard,GiftCard
基本上,我想搜索列中的值,如果重复则删除。
谁能帮我解决这个问题?
【问题讨论】:
-
数据总是看起来像
, 吗?您还以哪些其他格式查看此列的数据? -
是的,数据总是string1,string2,
-
我的意思是询问数据是否始终具有 (string1,string1) 或 (string1,string2) (string1,string1) 之类的列。您只想从中找到重复的值并仅获取一个字符串作为输出?
-
我认为 python UDF 在这里可能工作得很好。
-
@hadooper 。它将是任意值和任意数量的字符串。
标签: sql regex amazon-redshift regexp-replace