oracle排列组合,Oracle SQL排列组合之排列问题

之前写了一个组合问题,想想还是把排列的情况也考虑下。

表结构 t_data

f00927f9a639fe16b66e117e580b84c0.png

期望结果

02f8ecc0c6d92dee8ec874e3a2ff4527.png

一共3列数据,比如选取2列时,(C1C2)(C2C1)这两个排列值为2,因为只有2行满足c1、c2都不为空(第1、3行)

总体思路:

构造3列的排列,然后和实际数据匹配

第一步:构造3列的排列

SQL> select regexp_substr(csv.csvdata, '[^,]+', 1, level) chr

2 from (select '1,2,3' as csvdata from dual) csv

3 connect by level <= 3

4 /

CHR

----------

1

2

3

SQL> create table t_Permutation as

2 select regexp_substr(csv.csvdata, '[^,]+', 1, level) chr

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值