用sql语句来完成求质数

With temp1 as(
Select rownum my_value_1 from dual
Connect by rownum<=50)
,temp2 as(
select rownum my_rn, my_value_1 from temp1
where ((mod(my_value_1,2)<>0 and mod(my_value_1,3)<>0)
or my_value_1 in(2,3)) and my_value_1<>1
)
,temp3 as(
select my_rn,my_value_1,wm_concat(my_value_1) over(order by my_rn) my_value_2 from temp2)
,temp4 as(
select rownum my_rn_1 from dual connect by rownum<=(select count(*) from temp2)
)
,temp5 as(
select my_rn,my_value_1,my_value_2, decode(mod(my_value_1,regexp_substr(my_value_2,'[^,]+',1,my_rn_1)) ,0,1,0) total_score,my_rn_1 from temp3 a, temp4 b
where a.my_rn>b.my_rn_1)
select  my_rn,my_value_1,sum(total_score) from temp5
group by my_rn,my_value_1
having sum(total_score)=0
order by 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值