(备注:2019年8月27凌晨一点四十六)
话不多说,先搞一张表:问题,查询出小李在班上排第几名
首先我们为表排序,按分数情况降序
语句如下
select @rowno:=@rowno+1 as row,t.* from test t,(select @rowno:=0) r order by number desc
解析:@rowno:=@rowno+1 as row //行数自增每次加1
select @rowno:=0 //设置每次查询初始行数从0开始
order by number desc //数据按分数降序排列
得到结果
接下来我以查询到的数据为基础查询小李在班上排第几名
select ts.row from (select @rowno:=@rowno+1 as row,t.* from test t,(select @rowno:=0) r order by number desc) ts
where ts.name="小李"
由结果得知,小李全班第三名(举这个例子的时候我想笑,五个人一眼就能扫出来小李第几名了~!~)