执行相同的SQL语句,结果不一样。
第一次执行SQL,会统计出所以的行数,并且row_number都为1.
第二次执行SQ L,输出正确的结果。
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
执行相同的SQL语句,结果不一样。
第一次执行SQL,会统计出所以的行数,并且row_number都为1.
第二次执行SQ L,输出正确的结果。
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
5 回答3.3k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
5 回答1.4k 阅读
P.S. 为啥要用临时变量……
建议用这种方式:https://blog.csdn.net/junzi52...