create temporary table t (id int, a int); insert into t values (1, 3),(2, 8),(3, 6),(4, 9); set @m:=0; select *, @m:=@m+1 as m from t order by a descid a m 4 9 1 2 8 2 3 6 3 1 3 4
create temporary table t (id int, a int); insert into t values (1, 3),(2, 8),(3, 6),(4, 9),(5, 8); set @m:=0; set @o:=0; select *, @m:=if(a=@o,@m,@m+1) as m, @o:=a from t order by a descid a m @o:=a 4 9 1 9 2 8 2 8 这里的 m 5 8 2 8 和这里的 m 3 6 3 6 1 3 4 3
insert into t values (1, 3),(2, 8),(3, 6),(4, 9);
set @m:=0;
select *, @m:=@m+1 as m from t order by a descid a m
4 9 1
2 8 2
3 6 3
1 3 4
insert into t values (1, 3),(2, 8),(3, 6),(4, 9),(5, 8);
set @m:=0;
set @o:=0;
select *, @m:=if(a=@o,@m,@m+1) as m, @o:=a from t order by a descid a m @o:=a
4 9 1 9
2 8 2 8 这里的 m
5 8 2 8 和这里的 m
3 6 3 6
1 3 4 3