Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie erstelle ich einen Zeilengenerator in MySQL?

Ich sage das nur ungern, aber MySQL ist das einzige RDBMS der großen Vier, die diese Funktion nicht haben.

In Oracle :

SELECT  *
FROM    dual
CONNECT BY
        level < n

In MS SQL (bis zu 100 Zeilen):

WITH hier(row) AS
        (
        SELECT  1
        UNION ALL
        SELECT  row + 1
        FROM    hier
        WHERE   row < n
        )
SELECT  *
FROM    hier

oder mit Hinweis bis 32768

WITH hier(row) AS
        (
        SELECT  1
        UNION ALL
        SELECT  row + 1
        FROM    hier
        WHERE   row < 32768
        )
SELECT  *
FROM    hier
OPTION (MAXRECURSION 32767) -- 32767 is the maximum value of the hint

In PostgreSQL :

SELECT  *
FROM    generate_series (1, n)

In MySQL , nichts.