在上大学的小妹求助一题使用While语句计算数列数值,这似乎是有些难为没有计算机细胞小朋友。
由于都是nosql数据库多年没有怎么接触SQL,查询相关资料,做了如下处理并记录。
循环插入id从0到220的数值:
use test;
delimiter $$
create procedure pre()
begin
declare i int;
set i=0;
while i<221 do
insert into test.test_where value(i);
set i=i+1;
end while;
end
$$
call pre();
使用WHILE语句计算2+6+12+20+...+110的值:
分析:
A1=2,
A2=A1+2*2,
A3=A2+2*3,
Ak=(Ak-1) + 2*k
具体计算如下:
use test;
delimiter $$
create procedure pred()
begin
declare i int;
declare j int;
set j=2;
set i=2;
set @csum := 0;
while i<111 do
select id, (@csum := @csum + id) AS 总和 from test_where where id=i;
set i=i+2*j;
set j=j+1;
end while;
end
$$