如何在不使用ROW_NUMBER()函数的情况下使用numbers表模拟表格的行号。
示例表: create table accounts ( account_num VARCHAR(25),主键(account_num) )
numbers表有1mil行。
发布于 2011-05-29 22:46:28
如果你的意思是,当它不可用时(也就是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发布于 2011-05-30 00:51:14
Numbers表在这里对您没有帮助,因为您无法将表中的值与Numbers表中的数字相关联。但是,如果您询问是否可以在不使用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_Numhttps://stackoverflow.com/questions/6168352
复制相似问题