首页 > 解决方案 > MySql 生成一列值

问题描述

在 MySql 的 SQL 语句中,很容易通过使用类似的东西来动态创建一行值

选择 1、2、3、4、5、6、7、8、9、10;

这将生成包含从 1 到 10 的数字的单行,但是否可以有包含这些值的单列。

标签: mysqlsql

解决方案


一种简单的方法是递归 CTE:

with recursive cte as (
      select 1 as n
      union all
      select n + 1
      from cte
      where n < 10
     )
select cte.*
from cte;

如果您有一些值,您也可以使用以下方法创建它们union all

select *
from (select 1 as n union all select 2) n

推荐阅读