字串拆分成集合再做比较

【问题】
有个字段叫作者姓名,该字段内内容为 “作者 1,作者 2,作者 3”,现在想把这个字段里面作者一样,但顺序不一样的记录查找出来,该怎么写?

比如就是 “张三,李四,赵五” ,但有的记录里面为“赵五,张三,李四”,也不一定是这种顺序,就是名字完全一致,但排列的先后顺序不一样的字段。

【回答】

拆分字符串用 SQL 不方便,用 SPL 只要一句:

A
1$select id,name from tb
2=A1.group(name.split().sort()).select(~.count()>1).conj()

A2 单元格对 name 拆分排序后再分组,选出有重复者合并

假设数据为:

id name

1 张三, 李四, 赵五

2 李四, 赵五, 张三

3 钱六, 张三, 李四

4 赵五, 李四, 张三

5 aaa,bbb, 张三

6 张三, 钱六, 李四

计算结果为:

1 张三, 李四, 赵五

2 李四, 赵五, 张三

4 赵五, 李四, 张三

6 张三, 钱六, 李四

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值