# MariaDB: Select the Fibonacci series

How to select the first N numbers from the Fibonacci series, or the Nth number from the series. This is done by using the `SEQUENCE` storage engine and user variables.

## Installing SEQUENCE

First, make sure that the `SEQUENCE` storage engine is installed:

``INSTALL SONAME 'ha_sequence';``

Now you should see it installed by running:

``SHOW PLUGINS LIKE 'sequence';``

## Select part of the Fibonacci series

To select the first 20 Fibonacci numbers:

``````SELECT
seq,
IF(seq = 0, 0, IF(seq = 1,
(@a := 0) + (@b := 1) + (@s := 0),
(@b := LAST_VALUE(LAST_VALUE(@s := (@a + @b), @a := @b), @s))
)) AS fibonacci
FROM seq_0_to_20;``````

## Select one Fibonacci number

To select the 20th Fibonacci number:

``````SELECT * FROM (
SELECT
seq,
IF(seq = 0, 0, IF(seq = 1,
(@a := 0) + (@b := 1) + (@s := 0),
(@b := LAST_VALUE(LAST_VALUE(@s := (@a + @b), @a := @b), @s))
)) AS fibo
FROM seq_0_to_20
) s
LIMIT 1
OFFSET 20;``````

## Reference

MariaDB KnowledgeBase: