You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写MySQL查询语句输出100项斐波那契数列

MySQL查询生成最多100项斐波那契数列

以下是可直接运行的SQL实现,生成的数列从0开始,遵循「前两项为0、1,后续每一项等于前两项之和」的规则,最多支持输出100项:

实现代码(MySQL 8.0+ 推荐)

利用MySQL 8.0新增的递归公共表表达式(CTE)实现,逻辑简洁无额外依赖:

WITH RECURSIVE fibonacci (item_num, current_val, next_val) AS (
    -- 初始化:第1项值为0,预存下一项值1
    SELECT 1, CAST(0 AS DECIMAL(40,0)), CAST(1 AS DECIMAL(40,0))
    UNION ALL
    -- 递归生成后续项
    SELECT item_num + 1, next_val, current_val + next_val
    FROM fibonacci
    WHERE item_num < 100 -- 控制生成总项数,修改此处数值可调整输出长度
)
SELECT item_num AS 项序号, current_val AS 斐波那契数值
FROM fibonacci;

注意事项

  • 类型选择:第100项斐波那契数值约为3.5*10^20,超出BIGINT类型的存储上限,因此用DECIMAL(40,0)做类型转换,避免数值溢出报错
  • 版本兼容:如果使用MySQL 5.x版本,不支持递归CTE语法,可以通过用户变量+内置数字序列表的方式实现,性能略低于递归写法
  • 自定义长度:如果不需要100项,直接修改递归终止条件里的数字即可,比如要输出前10项,把WHERE item_num < 100改为WHERE item_num < 10

前15项输出参考

1: 0
2: 1
3: 1
4: 2
5: 3
6: 5
7: 8
8: 13
9: 21
10: 34
11: 55
12: 89
13: 144
14: 233
15: 377

内容的提问来源于stack exchange,提问作者Kanishka yadav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 04:06:18