Original post: http://anothermysqldba.blogspot.com/2015/06/fibonacci-sequence-procedure.html
那麼它已經一段時間,因為我張貼,抱歉。 今天,我在看電視節目邊緣的重播,當沃爾特引用的斐波那契數列我得到了側履帶與MySQL選項這一點。
現在這個職位已經存在:
所以我把這個職位,並擴展了它一點點,結果是,你可以調用和斐波那契數列,你是在後返回範圍的過程。
該過程如下:
您可以致電此並傳遞任何值和範圍後,你是。
所以,如果你想第5值序列和下一個值( 從0開始 )
所以,如果你想在30號值序列和下一個值( 從0開始 )
所以,如果你想150價值序列和下一個值( 從0開始 )
所以,你的想法。 現在,您也可以擴大戰果的範圍內,如果你想超過2只更改過程調用的第二個值。
無論如何,希望有人發現它有用和信用查詢的基礎確實去了原來的職位。
那麼它已經一段時間,因為我張貼,抱歉。 今天,我在看電視節目邊緣的重播,當沃爾特引用的斐波那契數列我得到了側履帶與MySQL選項這一點。
現在這個職位已經存在:
所以我把這個職位,並擴展了它一點點,結果是,你可以調用和斐波那契數列,你是在後返回範圍的過程。
該過程如下:
delimiter //
CREATE PROCEDURE `Fibonacci`(IN POS INT, IN RANG INT, IN LIMTED INT)
BEGIN
select FORMAT(Fibonacci,0) AS Fibonacci from (
select @f0 Fibonacci, @fn:=@f1+@f0, @f0:=@f1, @f1:=@fn
from (select @f0:=0, @f1:=1, @fn:=1) x,
information_schema.STATISTICS p limit LIMTED) y LIMIT POS, RANG;
END//
delimiter ;
您可以致電此並傳遞任何值和範圍後,你是。
所以,如果你想第5值序列和下一個值( 從0開始 )
> CALL Fibonacci(5,2,100);
+-----------+
| Fibonacci |
+-----------+
| 5 |
| 8 |
+-----------+
所以,如果你想在30號值序列和下一個值( 從0開始 )
> CALL Fibonacci(30,2,100);
+-----------+
| Fibonacci |
+-----------+
| 832,040 |
| 1,346,269 |
+-----------+
所以,如果你想150價值序列和下一個值( 從0開始 )
> CALL Fibonacci(150,2,1000);
+--------------------------------------------+
| Fibonacci |
+--------------------------------------------+
| 9,969,216,677,189,305,000,000,000,000,000 |
| 16,130,531,424,904,583,000,000,000,000,000 |
+--------------------------------------------+
所以,你的想法。 現在,您也可以擴大戰果的範圍內,如果你想超過2只更改過程調用的第二個值。
> CALL Fibonacci(0,10,100);
+-----------+
| Fibonacci |
+-----------+
| 0 |
| 1 |
| 1 |
| 2 |
| 3 |
| 5 |
| 8 |
| 13 |
| 21 |
| 34 |
+-----------+
> CALL Fibonacci(30,5,100);
+-----------+
| Fibonacci |
+-----------+
| 832,040 |
| 1,346,269 |
| 2,178,309 |
| 3,524,578 |
| 5,702,887 |
+-----------+
無論如何,希望有人發現它有用和信用查詢的基礎確實去了原來的職位。