mysql按照并列且占位的规则来排名,例如96分应该是第四名,95分是第6名。
mysql排名并列即相同的值,相同的值保留重复名次,遇到下一个不同的值,跳跃到总共的排名。
MYSQL 如果强行实现,查询逻辑会变的很复杂,不符合实际计算最好是在PHP里面
$data ..//比如查询结果返回给DATA 的二维数组
foreach($data as $vo){
$math[$vo['name']] = $vo['数学']
$langue[$vo['name']] = $vo['语文']
$englist[$vo['name']] = $vo['英语']
}
arsort($math)
arsort($langue)
arsort($englist)
$i = 1
foreach($math as $key=>$vo){
$res[$key]['数学'] = $i
}
$i = 1
foreach($langue as $key=>$vo){
$res[$key]['语文'] = $i
}
$i = 1
foreach($englistas $key=>$vo){
$res[$key]['英语'] = $i
}
MySQL中排序输出需要用order by。
如图,test表中有如下数据:
现在分别要求按ID正序和倒序输出结果。
正序:
select * from test order by id结果:
倒序:
select * from test order by id desc结果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)