我有一个查询,它返回一组由字母 A
、E
和. 组成的I
行L
。该组合是葡萄牙语助记符Alterar
, Excluir
,Incluir
和Listar
。列值可以在A
, AE
, AEL
, AELI
... L
, LI
, LIA
,之间变化LIAE
。
在下面说明的示例中,我希望能够获得一个删除所有重复字母的唯一字符串。所以结果将是AELI
,所有行的合并。
我的第一次尝试是使用函数array_to_string
和array_agg
.
select array_to_string(array_agg(colmn), '') from mytable;
然后我使用该regexp_matches
函数仅匹配同一字母的一个字符,但没有成功,因为返回了AELA
.
select regexp_matches('AELAEILI', '[?AEIL][?AEIL][?AEIL][?AEIL]');
这里是上面解释的例子。
笔记
这里解释的问题是一条很棒的 sql 指令。这个sqlfiddle是我模拟我真正的问题的努力。