如何在MySQL中生成一个到10的平方数序列?(1^2,2^2等)

我只能生成一个从1到10的数字序列.

WITH RECURSIVE cte (n) AS
(
  SELECT 1
  UNION ALL
  SELECT (n + 1) FROM cte WHERE n < 10
)
SELECT n FROM cte;

但是如果我添加POW()函数,结果将是

WITH RECURSIVE cte (n) AS
(
  SELECT 1
  UNION ALL
  SELECT POW((n + 1),2) FROM cte WHERE n < 10
)
SELECT n FROM cte;

结果: 1 4. 25个

推荐答案

你需要对CTE的结果进行平分

WITH RECURSIVE cte (n) AS
(
  SELECT 1
  UNION ALL
  SELECT (n + 1) FROM cte WHERE n < 10
)
SELECT POW(n,2) FROM cte;
POW(n,2)
1
4
9
16
25
36
49
64
81
100

fiddle

Mysql相关问答推荐

SQL查询仅插入5行

拒绝非超级用户访问停靠的MariaDB(超级用户工作)

如何让Docker MySQL使用Unicode(utf-8)和初始化脚本?

为分组记录MySQL取取值为TRUE的单行

Mysql - Select 匹配某些条件的两条记录之间经过的最大天数

如何创建一个列,该列在另一个表中具有值的计数?

为什么order by子句可以利用索引?

访问 nodejs、mysql 和 json 中的嵌套对象数组

如何解决这个特定的 SQL 查询?我的解决方案还返回不想要的值

Laravel 查询构建器 where() 用于何时产品必须有多个标签(使用 product_tags 数据透视表多对多)

MySQL过滤食谱上的多对多 - 成分表

是否可以从 .SQL 文件中计算表中的行数?

使用带有 ELSEIF 和 ELSE 的 3 列更新问题

此插页中的X是什么> X'3C2F756C3E'

MySQL:将日期时间插入其他日期时间字段

错误 1396 (HY000): 'user'@'localhost' 的操作 DROP USER 失败

INSERT ... 使用 WHERE 进行重复的密钥更新?

在mysql中增量更新值

我应该使用什么列数据类型来存储大量文本或 html

应该使用什么列类型将序列化数据存储在 mysql 数据库中?