小编Hea*_*rol的帖子

从mysql存储排名位置

我搜索了论坛,找到解决问题的方法.我的问题是我无法找到如何保存每场锦标赛的排名位置.我创建了两个表和一个如下所示的查询:竞争对手(cid int auto_increment主键,名称varchar(25),lastname varchar(25)); comps(compid int auto_increment primary key,tournement int,cid int,points int);

   select @rowno:= @rowno+1 as position,  rank.*
   from (
   select name,lastname,SUM(points) as pts,group_concat(points) as round FROM
   (select cid,tournament,points from comps 
    group by cid,tournament  order by points)total
    join competitors c on c.cid = total.cid
    cross join   (select @rowno := 0) r
    group by total.cid
    order by pts desc) rank
    order by pts desc
Run Code Online (Sandbox Code Playgroud)

这是 SQLFiddle演示

我想要实现的是,当用户点击竞争对手的个人资料时,每个锦标赛的位置都会显示如下:

Name: Competitor One
Tournament 1: 1st 100  pts
Tournament 2: 2nd  80  pts
Tournament …
Run Code Online (Sandbox Code Playgroud)

php mysql mysqli ranking

7
推荐指数
1
解决办法
240
查看次数

标签 统计

mysql ×1

mysqli ×1

php ×1

ranking ×1