小编典典

如何在MySQL中制作行生成器?

mysql

有没有一种方法可以生成可以在JOIN中使用的任意数量的行,类似于Oracle语法:

SELECT LEVEL FROM DUAL CONNECT BY LEVEL<=10

阅读 408

收藏
2020-05-17

共1个答案

小编典典

讨厌这样说,但是这MySQLRDBMS四大公司中唯一没有此功能的公司。

Oracle

SELECT  *
FROM    dual
CONNECT BY
        level < n

MS SQL(最多100行)中:

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

或使用提示最多 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

PostgreSQL

SELECT  *
FROM    generate_series (1, n)

在中MySQL,什么都没有。

2020-05-17