学习笔记----一句SQL语句写个乘法表

一句SQL语句写个乘法表[@more@]

select ltrim(max(sys_connect_by_path(product, ',')), ',') product
from
(
select rn, product, min(product) over(partition by rn) product_min
,(row_number() over(order by rn, product)) + (dense_rank() over(order by rn)) numId
from
(
select b.rn, a.rn || '*' || b.rn || '=' || a.rn * b.rn product
from (select rownum rn from all_objects where rownum <= 9) a,
(select rownum rn from all_objects where rownum <= 9) b
where a.rn <= b.rn
order by b.rn, product
)
)
start with product = product_min
connect by numId - 1 = prior numId
group by rn;
结果:

1*1=1
1*2=2,2*2=4
1*3=3,2*3=6,3*3=9
1*4=4,2*4=8,3*4=12,4*4=16
1*5=5,2*5=10,3*5=15,4*5=20,5*5=25
1*6=6,2*6=12,3*6=18,4*6=24,5*6=30,6*6=36
1*7=7,2*7=14,3*7=21,4*7=28,5*7=35,6*7=42,7*7=49
1*8=8,2*8=16,3*8=24,4*8=32,5*8=40,6*8=48,7*8=56,8*8=64
1*9=9,2*9=18,3*9=27,4*9=36,5*9=45,6*9=54,7*9=63,8*9=72,9*9=81

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/101162/viewspace-947907/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/101162/viewspace-947907/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值