首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用numbers表模拟行号

使用numbers表模拟行号
EN

Stack Overflow用户
提问于 2011-05-29 22:41:03
回答 2查看 662关注 0票数 1

如何在不使用ROW_NUMBER()函数的情况下使用numbers表模拟表格的行号。

示例表: create table accounts ( account_num VARCHAR(25),主键(account_num) )

numbers表有1mil行。

EN

回答 2

Stack Overflow用户

发布于 2011-05-29 22:46:28

如果你的意思是,当它不可用时(也就是MySQL),试着这样做:

代码语言:javascript
复制
select @rownum := @rownum + 1 rownum,
       t.*
from (select * from table t order by col) t,
     (select @rownum := 0) r

它将产生与以下相同的结果:

代码语言:javascript
复制
select row_number() over (order by col)
from table
order by col
票数 1
EN

Stack Overflow用户

发布于 2011-05-30 00:51:14

Numbers表在这里对您没有帮助,因为您无法将表中的值与Numbers表中的数字相关联。但是,如果您询问是否可以在不使用ROW_NUMBER()或变量的情况下创建序列,则可以这样做:

代码语言:javascript
复制
Select A1.Account_Num, Count( A2.Account_Num ) + 1 As Num
From Accounts As A1
    Left Join Accounts As A2
        On A2.Account_Num < A1.Account_Num
Group By A1.Account_Num
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6168352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档