sql语句自增长列

select @i:=IFNULL(@i,0) +1 Rank,a.* from  v_toplist_playerlevel a

为什么第一次执行的时候,Rank的值都是1,而后面执行就可以累加了。想不通,难道是因为@i变量未定义 。

select @i :=0 Rank,a.* from v_toplist_playerlevel a limit 1
union
select @i:=@i+1 Rank,a.* from v_toplist_playerlevel a limit 1,8446744073709551615
最后只好改成那个这样了。

猜你喜欢

转载自necolas.iteye.com/blog/2042619