猿问

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
采纳加分


尚方宝剑之说
浏览 669回答 2
2回答

守着一只汪

MySQL中排序输出需要用order by。如图,test表中有如下数据:现在分别要求按ID正序和倒序输出结果。正序:1select * from test order by id;结果:倒序:1select * from test order by id desc;结果: 

慕尼黑8549860

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

相关分类

MySQL
我要回答