sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo hago un generador de filas en MySQL?

Odio decir esto, pero MySQL es el único RDBMS de los cuatro grandes que no tienen esta característica.

En Oracle :

SELECT  *
FROM    dual
CONNECT BY
        level < n

En MS SQL (hasta 100 filas):

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

o usando la pista hasta 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

En PostgreSQL :

SELECT  *
FROM    generate_series (1, n)

En MySQL , nada.