mysql 99乘法表_MySQL 通过sql输出99乘法表
备注:测试数据库版本为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乘法表相关推荐
- Navicat创建数据库表 、导入sql文件,生成表结构
Navicat创建数据库表 .导入sql文件,生成表结构 1.打开Navicat 2.远程连接mysql连接 3.创建数据库 4.导入sql文件 5.生成表结构 1.打开Navicat 2.远程连接m ...
- iBatis 事务控制 与 两表操作将SQL语句写入单表
事务控制 示例: // move data from temp_table to work_tabletry {sqlMapClient.startTransaction();T03SlipWk or ...
- mysql 优化表_mysql里sql优化和表结构优化
开启慢查询日志 计入sql show variables like 'slow_query_log';//慢查询查看状态 OFF未开启 ON开启 show variables like '%log%' ...
- mysql数据库求和语句_MYSQL数据库SQL语句集锦
*特别说明:FILED代表数据表字段,CONDITIONS代表where之后的条件,TABLENAME代表数据表名 []中括号内的内容代表 可有可无. 创建数据库 create database ...
- mysql 语句性能分析_mysql的sql语句的性能诊断分析
1> explain SQL,类似于Oracle中explain语句 例如:explain select * from nad_aditem; 2> select benchmark(co ...
- mysql大于等于怎么写_MySQL 对于千万级的大表要怎么优化?我写了6000字的深度解读...
千万级大表如何优化,这是一个很有技术含量的问题,通常我们的直觉思维都会跳转到拆分或者数据分区,在此我想做一些补充和梳理,想和大家做一些这方面的经验总结,也欢迎大家提出建议. 从一开始脑海里开始也是火光 ...
- mysql的values使用_MySQL的SQL语句 - 数据操作语句(16)- VALUES 语句
VALUES 语句 VALUES 是 MySQL 8.0.19 中引入的一个 DML 语句,它以表的形式返回一个或多个行的集合.换句话说,它是一个表值构造器,也可以作为独立的 SQL 语句来运行. 1 ...
- mysql怎么排序检索_MySQL 2 SQL数据使用(检索、排序、过滤:SELECT/FROM/LIMIT/ORDER BY/DESC/WHERE/AND/OR/IN/NOT)...
.空格被忽略,可以用一或多个空格分开指令. 检索单个列: SELECT 列名 FROM 表名: 检索多个列: 当心逗号 SELECT 列1,列2,列3 FROM 表: 检索所有列:(*)通配符 S ...
- java备份mysql的单个表_MySQL 使用java备份某张表的操作
核心是mysqldump和Runtime 操作其实并不是很困难,创建一个进行备份操作的类,接收到备份调用后,标记该表正在备份,然后创建一个子线程进行备份操作.所需的配置信息是从配置文件读取的,也要注意 ...
- mysql中常用动词_mysql常用sql语句总结
sql语言简洁只有7个动词:SELECT , DROP, ALTER, CREATE,INSERT, UPDATE,DELETE: 获取表结构:Desc 表名:(show databases;tabl ...
最新文章
- 很多程序员编程时都戴耳机?他们在听什么
- CGAffineTransform的使用大概:
- ubuntu21.04安装微信3.2.1(deepin-wine方式)
- 太原师范学院计算机二级报名,山西计算机等级考试报名地点
- 统计问题(HDU-2563)
- C语言 strspn函数实现
- 114. Flatten Binary Tree to Linked List【Medium】【将给定的二叉树转化为“只有右孩子节点”的链表(树)】...
- 工作一年了,从新拾起写博客的道路
- 11.history命令历史
- 旋度的散度为零证明_(大牛分享)实列讲解:Python Sympy计算梯度、散度和旋度...
- DSP之解读FAT32文件系统
- 基于百度通用翻译API的一个翻译小工具
- PostgreSQL参数学习:random_page_cost
- IDAPython手册
- 图片压缩工具(网页优化)
- 监督学习、非监督学习、半监督学习(主动学习)
- css动画:多个行星围绕中心恒星旋转
- happen before 原则
- 初学者 深度学习 人工神经网络 可视化网站
- photoshop保存哪种格式的图像最清晰