测试积点老人 发表于 2019-12-12 10:48:34

oracle排序之后如何按照不重复进行分组

oracle排序之后如何按照不重复进行分组
比如查询出来只有一列,排序的时候不光按照这个列进行排列,所以查出来的结果会像这样A,B,C,D,E,A,C,D,A,B。现在需要将它分组为[(A,B,C,D,E),(A,C,D),(A,B)]也就是每当找到一个新的A就分组拼接,拼接结果为这个该如何实现,最好直接能在查询语句中直接实现。
就像map里的contains,一旦不包括在map里就把前面的分为一组,再拼接。

海海豚 发表于 2019-12-13 09:25:06

写一个mysql的写法给你参考:
1.替换','
2.替换'-A'
3.前后拼接'[',']'
select concat('[',replace(replace('A,B,C,D,E,A,C,D,A,B', ',', '-'), '-A', ',A'),']')

bellas 发表于 2019-12-13 09:35:39

参考下这个https://zhidao.baidu.com/question/1992858476361453467.html

qqq911 发表于 2019-12-13 10:42:20

相当于用A做分隔符

梦想家 发表于 2019-12-13 11:04:36

写一个mysql的写法给你参考:

1.替换','
2.替换'-A'
3.前后拼接'[',']'

select concat('[',replace(replace('A,B,C,D,E,A,C,D,A,B', ',', '-'), '-A', ',A'),']')

jingzizx 发表于 2019-12-13 12:19:24

可以的

Miss_love 发表于 2019-12-14 14:21:35

:lol
页: [1]
查看完整版本: oracle排序之后如何按照不重复进行分组