为了账号安全,请及时绑定邮箱和手机立即绑定

在MySQL中生成整数序列

在MySQL中生成整数序列

HUH函数 2019-07-02 17:29:59
在MySQL中生成整数序列我需要使用包含整数n到m的表/结果集/任何东西进行连接。有没有一种不只是建立桌子就能得到它的微不足道的方法呢?(顺便说一句,这种类型的构造会被称为“元查询”吗?)m-n与合理的(<1000 s)有界。
查看完整描述

3 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

我在网上找到了这个解决方案

SELECT @row := @row + 1 as row, t.*FROM some_table t, (SELECT @row := 0) r

单次查询,速度快,并完全符合我的要求:现在,我可以对从复杂查询中找到的“选择”进行“编号”,其唯一数字从1开始,并对结果中的每一行递增一次。

我认为这也适用于上面列出的问题:调整初始起始值@row并添加限制子句以设置最大值。

顺便说一句:我认为“r”并不是真正需要的。

DDSP


查看完整回答
反对 回复 2019-07-02
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

以下内容将返回1.10000,并且不会太慢


SELECT @row := @row + 1 AS row FROM 

(select 0 union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t,

(select 0 union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t2, 

(select 0 union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t3, 

(select 0 union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t4, 

(SELECT @row:=0) numbers;


查看完整回答
反对 回复 2019-07-02
  • 3 回答
  • 0 关注
  • 1061 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信