रविवार, 28 जून 2015

फाइबोनैचि अनुक्रम प्रक्रिया

Original post: http://anothermysqldba.blogspot.com/2015/06/fibonacci-sequence-procedure.html

 मैं इस बारे में खेद तैनात बाद से अच्छी तरह से यह थोड़ी देर के लिए किया गया है। आज मैं टीवी शो फ्रिंज के reruns देख रहा था और वाल्टर फाइबोनैचि अनुक्रम संदर्भित जब मैं पक्ष इस बात के लिए 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 बस प्रक्रिया कॉल में 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 | 
+-----------+ 


वैसे भी, किसी के मूल पोस्ट करने के लिए जाना है क्वेरी के आधार के लिए यह उपयोगी और क्रेडिट पाता है उम्मीद है।