Fibonacci Rides Again

Not so long ago I wrote about implementing GCD function in PostgreSQL using CTE.

Here I will show how Fibonacci Numbers may be obtained using the same technique.

So to have first 16 members of this sequence we should execute something like this:

WITH RECURSIVE t(a, b) AS (
    VALUES (11)
UNION ALL
    SELECT b, a + b FROM t
)
SELECT a FROM t  LIMIT 16;

Suppose we should add this code to Wiki Library Snippets. Any objections?😉

UPD. Some others unnatural ways to calculate Fibonacci numbers may be found in Russian.