开发者社区 问答 正文

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

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

SELECT LEVEL FROM DUAL CONNECT BY LEVEL<=10

展开
收起
保持可爱mmm 2020-05-11 10:54:23 381 分享 版权
1 条回答
写回答
取消 提交回答
  • 讨厌这样说,但是这MySQL是RDBMS四大公司中唯一没有此功能的公司。

    在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,什么都没有。来源:stack overflow

    2020-05-11 10:54:33
    赞同 展开评论