----这种方法可以实现,只是效率不高估计set @gg=5;select @gg;-- 结果 select csid,ranks,rank from ( select heyf_tmp.csid,heyf_tmp.ranks,@rownum:=@rownum+1 , if(@pdept=heyf_tmp.ranks,@rank:=@rank+1,@rank:=1) as rank, @pdept:=heyf_tmp.ranks from ( select * from ( select csid,ceil(rownum/@gg) as ranks FROM( select a.*, (select count(*) from channelsp where csid<=a.csid) as rownum from (select csid from channelsp) a ) b) c ) heyf_tmp ,(select @rownum :=0 , @pdept := null ,@rank:=0) a ) result ;
----这种方法可以实现,只是效率不高估计set @gg=5;select @gg;-- 结果 select csid,ranks,rank from (
select heyf_tmp.csid,heyf_tmp.ranks,@rownum:=@rownum+1 ,
if(@pdept=heyf_tmp.ranks,@rank:=@rank+1,@rank:=1) as rank,
@pdept:=heyf_tmp.ranks
from (
select * from
(
select csid,ceil(rownum/@gg) as ranks
FROM( select a.*,
(select count(*) from channelsp where csid<=a.csid) as rownum
from (select csid from channelsp) a ) b) c
) heyf_tmp ,(select @rownum :=0 , @pdept := null ,@rank:=0) a ) result
;
本版等级:T1
结帖率:0%