MySQL数据库数据怎么实现排序输出?

100米成绩表(id,name,mark,rank);怎么实现排序输出.比如:
id name mark rank
1 张三 12秒00 

2 李四 11秒97 

3 王五 13秒00
怎么实现安排mark的顺序输出,并填入排名(rank)
这种效果:

1 李四 11秒97 1
2 张三 12秒0 2

3 王五 13秒00 3

ibeautiful
浏览 737回答 2
2回答

暮色呼如

100米成绩表(id,name,mark,rank);怎么实现排序输出.比如:id name mark rank1 张三 12秒00 2 李四 11秒97 3 王五 13秒00怎么实现安排mark的顺序输出,并填入排名(rank)这种效果:1 李四 11秒97 12 张三 12秒0 23 王五 13秒00 3

蛊毒传说

select * from 百米成绩表 order by mark ascorder by 的意思是排序,你的mark应该是一个字符串类型的字段(如果是oracle的话应该是varchar2) order by 跟的是一个字段,意思是按照这个字段进行排序,字符串的排序,会挨个比对第一个字符,然后第二个字符,然后以此类推,asc 是代表正序,就是小的在上,desc是倒序,不过这里存在问题,如果秒数都是两位数倒是好说,但是如果秒数是1位数 比如9秒00 那么在第二位排序的时候就会用秒字跟其他数字相比较,会出问题的,建议规范格式,强制要求秒数位数固定,或者干脆这个字段用数字来代替,比如11秒97,让他秒数变成1197,数字比大小是不会出现问题的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL