备注:测试数据库版本为MySQL 8.0

代码

-- 用with递归构造1-9的数据

with RECURSIVE c(n) as

(select 1 n union all select n + 1 from c where n < 9),

tmp1 as

(

SELECT c1.n n1,c2.n n2,CONCAT(c1.n,' * ',c2.n,' = ',c1.n*c2.n) exp

from c c1

inner join c c2

on c1.n <= c2.n

)

select max(case when n1 = 1 then exp else null end) as A1,

max(case when n1 = 2 then exp else null end) as A2,

max(case when n1 = 3 then exp else null end) as A3,

max(case when n1 = 4 then exp else null end) as A4,

max(case when n1 = 5 then exp else null end) as A5,

max(case when n1 = 6 then exp else null end) as A6,

max(case when n1 = 7 then exp else null end) as A7,

max(case when n1 = 8 then exp else null end) as A8,

max(case when n1 = 9 then exp else null end) as A9

from tmp1

group by n2

order by n2

测试记录

mysql> -- 用with递归构造1-9的数据

mysql> with RECURSIVE c(n) as

-> (select 1 n union all select n + 1 from c where n < 9),

-> tmp1 as

-> (

-> SELECT c1.n n1,c2.n n2,CONCAT(c1.n,' * ',c2.n,' = ',c1.n*c2.n) exp

-> from c c1

-> inner join c c2

-> on c1.n <= c2.n

-> )

-> select max(case when n1 = 1 then exp else null end) as A1,

-> max(case when n1 = 2 then exp else null end) as A2,

-> max(case when n1 = 3 then exp else null end) as A3,

-> max(case when n1 = 4 then exp else null end) as A4,

-> max(case when n1 = 5 then exp else null end) as A5,

-> max(case when n1 = 6 then exp else null end) as A6,

-> max(case when n1 = 7 then exp else null end) as A7,

-> max(case when n1 = 8 then exp else null end) as A8,

-> max(case when n1 = 9 then exp else null end) as A9

-> from tmp1

-> group by n2

-> order by n2;

+-----------+------------+------------+------------+------------+------------+------------+------------+------------+

| A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 |

+-----------+------------+------------+------------+------------+------------+------------+------------+------------+

| 1 * 1 = 1 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL |

| 1 * 2 = 2 | 2 * 2 = 4 | NULL | NULL | NULL | NULL | NULL | NULL | NULL |

| 1 * 3 = 3 | 2 * 3 = 6 | 3 * 3 = 9 | NULL | NULL | NULL | NULL | NULL | NULL |

| 1 * 4 = 4 | 2 * 4 = 8 | 3 * 4 = 12 | 4 * 4 = 16 | NULL | NULL | NULL | NULL | NULL |

| 1 * 5 = 5 | 2 * 5 = 10 | 3 * 5 = 15 | 4 * 5 = 20 | 5 * 5 = 25 | NULL | NULL | NULL | NULL |

| 1 * 6 = 6 | 2 * 6 = 12 | 3 * 6 = 18 | 4 * 6 = 24 | 5 * 6 = 30 | 6 * 6 = 36 | NULL | NULL | NULL |

| 1 * 7 = 7 | 2 * 7 = 14 | 3 * 7 = 21 | 4 * 7 = 28 | 5 * 7 = 35 | 6 * 7 = 42 | 7 * 7 = 49 | NULL | NULL |

| 1 * 8 = 8 | 2 * 8 = 16 | 3 * 8 = 24 | 4 * 8 = 32 | 5 * 8 = 40 | 6 * 8 = 48 | 7 * 8 = 56 | 8 * 8 = 64 | NULL |

| 1 * 9 = 9 | 2 * 9 = 18 | 3 * 9 = 27 | 4 * 9 = 36 | 5 * 9 = 45 | 6 * 9 = 54 | 7 * 9 = 63 | 8 * 9 = 72 | 9 * 9 = 81 |

+-----------+------------+------------+------------+------------+------------+------------+------------+------------+

9 rows in set (0.00 sec)

mysql 99乘法表_MySQL 通过sql输出99乘法表相关推荐

  1. Navicat创建数据库表 、导入sql文件,生成表结构

    Navicat创建数据库表 .导入sql文件,生成表结构 1.打开Navicat 2.远程连接mysql连接 3.创建数据库 4.导入sql文件 5.生成表结构 1.打开Navicat 2.远程连接m ...

  2. iBatis 事务控制 与 两表操作将SQL语句写入单表

    事务控制 示例: // move data from temp_table to work_tabletry {sqlMapClient.startTransaction();T03SlipWk or ...

  3. mysql 优化表_mysql里sql优化和表结构优化

    开启慢查询日志 计入sql show variables like 'slow_query_log';//慢查询查看状态 OFF未开启 ON开启 show variables like '%log%' ...

  4. mysql数据库求和语句_MYSQL数据库SQL语句集锦

    *特别说明:FILED代表数据表字段,CONDITIONS代表where之后的条件,TABLENAME代表数据表名   []中括号内的内容代表 可有可无. 创建数据库 create  database ...

  5. mysql 语句性能分析_mysql的sql语句的性能诊断分析

    1> explain SQL,类似于Oracle中explain语句 例如:explain select * from nad_aditem; 2> select benchmark(co ...

  6. mysql大于等于怎么写_MySQL 对于千万级的大表要怎么优化?我写了6000字的深度解读...

    千万级大表如何优化,这是一个很有技术含量的问题,通常我们的直觉思维都会跳转到拆分或者数据分区,在此我想做一些补充和梳理,想和大家做一些这方面的经验总结,也欢迎大家提出建议. 从一开始脑海里开始也是火光 ...

  7. mysql的values使用_MySQL的SQL语句 - 数据操作语句(16)- VALUES 语句

    VALUES 语句 VALUES 是 MySQL 8.0.19 中引入的一个 DML 语句,它以表的形式返回一个或多个行的集合.换句话说,它是一个表值构造器,也可以作为独立的 SQL 语句来运行. 1 ...

  8. mysql怎么排序检索_MySQL 2 SQL数据使用(检索、排序、过滤:SELECT/FROM/LIMIT/ORDER BY/DESC/WHERE/AND/OR/IN/NOT)...

    .空格被忽略,可以用一或多个空格分开指令. 检索单个列: SELECT 列名  FROM 表名: 检索多个列: 当心逗号 SELECT 列1,列2,列3  FROM 表: 检索所有列:(*)通配符 S ...

  9. java备份mysql的单个表_MySQL 使用java备份某张表的操作

    核心是mysqldump和Runtime 操作其实并不是很困难,创建一个进行备份操作的类,接收到备份调用后,标记该表正在备份,然后创建一个子线程进行备份操作.所需的配置信息是从配置文件读取的,也要注意 ...

  10. mysql中常用动词_mysql常用sql语句总结

    sql语言简洁只有7个动词:SELECT , DROP, ALTER, CREATE,INSERT, UPDATE,DELETE: 获取表结构:Desc 表名:(show databases;tabl ...

最新文章

  1. 很多程序员编程时都戴耳机?他们在听什么
  2. CGAffineTransform的使用大概:
  3. ubuntu21.04安装微信3.2.1(deepin-wine方式)
  4. 太原师范学院计算机二级报名,山西计算机等级考试报名地点
  5. 统计问题(HDU-2563)
  6. C语言 strspn函数实现
  7. 114. Flatten Binary Tree to Linked List【Medium】【将给定的二叉树转化为“只有右孩子节点”的链表(树)】...
  8. 工作一年了,从新拾起写博客的道路
  9. 11.history命令历史
  10. 旋度的散度为零证明_(大牛分享)实列讲解:Python Sympy计算梯度、散度和旋度...
  11. DSP之解读FAT32文件系统
  12. 基于百度通用翻译API的一个翻译小工具
  13. PostgreSQL参数学习:random_page_cost
  14. IDAPython手册
  15. 图片压缩工具(网页优化)
  16. 监督学习、非监督学习、半监督学习(主动学习)
  17. css动画:多个行星围绕中心恒星旋转
  18. happen before 原则
  19. 初学者 深度学习 人工神经网络 可视化网站
  20. photoshop保存哪种格式的图像最清晰

热门文章

  1. 最火的几颗国产视频芯片
  2. 流程效率低?这里有3个流程优化的建议
  3. MyBatis choose标签
  4. 程序猿段子_程序员的那些段子
  5. 最棒的10款MySQL GUI工具
  6. MySQL有哪些“饮鸩止渴”提高性能的方法?
  7. kafka自动提交offset的设置理解
  8. 一、jsp和Servlet基础理论及jstl和EL表达式用法
  9. CyanogenMod 7
  10. vue 移动端进入页面自动弹出软键盘