mysql输出九九乘法表_SQL 打印九九乘法表

今天是周日,给大家看点轻松的——用 SQL 打印九九乘法表。

九九乘法表的 SQL 我曾发布到其它内容平台,现在把 SQL 拷过来,稍微加一些说明。

下图是我从网上找到一个九九乘法表,本文要实现的也是这样的效果。

faa8e93445a77557c76396310558a5d3.png

图1 九九乘法表

打印九九乘法表需要经过下面这几个步骤:

构建一张 1 到 9 的数字表;

生成所有乘法算式的组合;

做行转列处理,格式化输出。

1 构建 1-9 的数字表

如果我们有数字辅助表(有专门的字段存储从0/1起始的自然数列),那可以直接使用该表。如果没有数字辅助表,找到任意一张存储大于 9 条记录数的表,借助于窗口函数或者用户变量生成 1-9 的自然数列。

窗口函数生成 1-9 的自然数列:

SELECT

ROW_NUMBER() OVER() AS num

FROM

emp

LIMIT 9

使用用户变量生成 1-9 的自然数列。

SELECT

@rn := @rn + 1 AS num

FROM

emp,(SELECT @rn:=0) a

LIMIT 9

由于我的 emp 表的记录数大于 9,所以用上面两种方式构建自然数列没有问题。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值