我有一个查询,它返回一组由字母 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是我模拟我真正的问题的努力。
