如何解决使用数字表模拟行号
| 我如何在不使用ROW_NUMBER()函数的情况下使用数字表模拟表的行号。 样本表: 创建表帐户 ( account_num VARCHAR(25), 主键(account_num) ) 数字表有100万行。解决方法
如果您的意思是,当它不可用(又名MySQL)时,请尝试以下操作:
select @rownum := @rownum + 1 rownum,t.*
from (select * from table t order by col) t,(select @rownum := 0) r
它的产生与以下内容相同:
select row_number() over (order by col)
from table
order by col
, 数字表在这里无济于事,因为您无法将表中的值与数字表中的数字相关联。但是,如果您询问是否可以在不使用ROW_NUMBER()或变量的情况下创建序列,则可以这样做:
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。