菜鸟向各位高手们求一段sql代码

charmy00 2018-01-04 01:57:43
我有一个表字段存储的数据类似这样:
fashion scarf
mens plaid scarf
cashmere scarf for men
mens grey scarves
mens grey scarf

我需要取出这个字段值的集合(无重复的单词),返回一个字符串,结果是:

mens fashion plaid grey scarves cashmere scarf for men(单词顺序无所谓)

请问sql语句要怎么写呀?

谢谢大家!!!
...全文
481 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
chengccy 2018-01-04
  • 打赏
  • 举报
回复
先拆, 再去重, 再合并字符串
WITH TMP AS
 (SELECT 'fashion scarf' S
  FROM   DUAL
  UNION ALL
  SELECT 'mens plaid scarf' S
  FROM   DUAL
  UNION ALL
  SELECT 'cashmere scarf for men' S
  FROM   DUAL
  UNION ALL
  SELECT 'mens grey scarves' S
  FROM   DUAL
  UNION ALL
  SELECT 'mens grey scarf' S
  FROM   DUAL)
SELECT LISTAGG(S, ' ') WITHIN GROUP(ORDER BY S)
FROM   (SELECT DISTINCT REGEXP_SUBSTR(S, '[^ ]+', 1, LEVEL) AS S
         FROM   TMP
         CONNECT BY LEVEL <= REGEXP_COUNT(S, '[ ]+') + 1
             AND    PRIOR S = S
             AND    PRIOR DBMS_RANDOM.VALUE IS NOT NULL)

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧