相同的SQL,但结果不同

时间:2020-01-17 16:18:31

标签: mysql sql

ps:说明显示带有href的详细信息:https://segmentfault.com/q/1010000014649728 我运行以下sql:

select *  from
(
    select *,(@num2 := 
    (if(@GROUP199=`C_ISHOT`,@num2+1,if(@GROUP199:=`C_ISHOT`,1,1)))) row_number
    from city_code order by C_ISHOT 
) result
    where row_number<=10 

第一个运行结果显示表格总数, 但是第二个运行结果是我的预期。它有什么问题,我该如何解决?

1 个答案:

答案 0 :(得分:0)

变量未初始化。

select * 
from ( select *, (@num2 :=(if(@GROUP199=C_ISHOT,@num2+1,if(@GROUP199:=C_ISHOT,1,1)))) row_number 
       from city_code, ( SELECT @num2 := 0, @GROUP199 := 0 ) init_vars
       order by C_ISHOT ) result 
where row_number<=10
相关问题