mysql 根据统计出来的总分数进行排行

 http://blog.csdn.net/a56508820/article/details/49663069


select @rownum:=@rownum+1 AS rownum,A.* from
(
select *,sum(game_scores) as scores from tbl_rank_total_score where school='北京大学' GROUP BY uid order by scores desc
)A,(select @rownum:=0)B

-select @rownum:=@rownum-1 AS rownum,A.* from
(
select *,sum(game_scores) as scores from tbl_rank_total_score where school='北京大学' GROUP BY uid order by scores asc limit 0,10
)A,(select @rownum:=5)B

 

 
select @rownum:=@rownum-1 AS rownum,if(@scores=scores,@rank,@rank:=@rownum)as rank,A.* from
(
select *,sum(game_scores) as scores from tbl_rank_total_score where school='北京大学' GROUP BY uid order by scores asc
)A,(select @rank:=0,@rownum:=5,@scores:=null)B
 

--------------------------

select @rownum:=@rownum+1 AS rownum,if(@scores=scores,@rank,@rank:=@rownum)as rank,@scores:=scores,A.* from
(
select *,sum(game_scores) as scores from tbl_rank_total_score where school='北京大学' GROUP BY uid order by scores desc
)A,(select @rank:=0,@rownum:=0,@scores:=0)B
 

---------------------------------------

select @rownum:=@rownum+1 AS rownum,if(@scores=scores,@rank,@rank:=@rownum)as rank,@scores:=scores,A.* from
(
select *,sum(game_scores) as scores from tbl_rank_total_score where school='北京大学' GROUP BY uid order by scores desc
)A,(select @rank:=0,@rownum:=0,@scores:=0)B
 

排名为:

1

2

3

3

5

-----------------------------------------

select @rownum:=@rownum+1 AS rownum,
if(@scores=scores,@rank,@rank:=@rank+1)as rank,
@scores:=scores,A.* from
(
select *,sum(game_scores) as scores from tbl_rank_total_score where school='北京大学' GROUP BY uid order by scores desc
)A,(select @rank:=0,@rownum:=0,@scores:=0)B

排名为:

1

2

3

3

4

 

posted @ 2017-03-08 23:33  haiwei.sun  阅读(1442)  评论(0编辑  收藏  举报
返回顶部