我在sql查询中遇到问题,正在向我返回混乱的结果,我想指导您在逗号前输入数字,我不知道您是否可以按照示例进行操作:
SELECT responsaveis FROM public.pasrem_view where seqalu = 444111;
结果:
"DIOGO LUIZ BORDON DE SOUZA-89812239120-FILIACAO2, DIOGO LUIZ BORDON DE SOUZA-89812239120-FILIACAO2,DIOGO LUIZ BORDON DE SOUZA-89812239120-FILIACAO2, DIOGO LUIZ BORDON DE SOUZA-89812239120-FILIACAO2,LILIANA LETICIA CARVALHO THEODORO-00163264155-FILIACAO1,DIOGO LUIZ BORDON DE SOUZA-89812239120-FILIACAO2, DIOGO LUIZ BORDON DE SOUZA-89812239120-FILIACAO2,DIOGO LUIZ BORDON DE SOUZA-89812239120-FILIACAO2,DIOGO LUIZ BORDON DE SOUZA-89812239120-FILIACAO2"
我希望您像这样回到我身边
"LILIANA LETICIA CARVALHO THEODORO-00163264155-FILIACAO1,DIOGO LUIZ BORDON DE SOUZA-89812239120-FILIACAO2,DIOGO LUIZ BORDON DE SOUZA-89812239120-FILIACAO2,DIOGO LUIZ BORDON DE SOUZA-89812239120-FILIACAO2,DIOGO LUIZ BORDON DE SOUZA-89812239120-FILIACAO2,DIOGO LUIZ BORDON DE SOUZA-89812239120-FILIACAO2,DIOGO LUIZ BORDON DE SOUZA-89812239120-FILIACAO2,DIOGO LUIZ BORDON DE SOUZA-89812239120-FILIACAO2,DIOGO LUIZ BORDON DE SOUZA-89812239120-FILIACAO2"
请记住,这只是一个结果,并且该字段是由“,”分隔的字符串。
示例:https://dbfiddle.uk/?rdbms=postgres_12&fiddle=cdf790d74b053ef8289e428eed0bd62e
答案 0 :(得分:1)
您需要首先将元素嵌套到行中(本质上是“即时”规范化数据模型),然后可以将其聚合回排序后的字符串:
SELECT string_agg(trim(t.element), ',' order by t.element desc)
FROM public.pasrem_view
cross join unnest(string_to_array(responsaveis, ',')) as t(element)
where seqalu = 444111;
答案 1 :(得分:0)
您的问题是指逗号前的数字。但是样本数据中没有逗号。对于您的结果,降序排序将起作用:
SELECT responsaveis
FROM public.pasrem_view
WHERE seqalu = 444111
ORDER BY responsaveis DESC;