MySQL数据库数据怎么实现排序输出?
100米成绩表(id,name,mark,rank);怎么实现排序输出.比如:idnamemarkrank1张三12秒002李四11秒973王五13秒00怎么实现安排ma...
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
采纳加分 展开
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
采纳加分 展开
4个回答
展开全部
select * from 百米成绩表 order by mark asc
order by 的意思是排序,你的mark应该是一个字符串类型的字段(如果是oracle的话应该是varchar2) order by 跟的是一个字段,意思是按照这个字段进行排序,字符串的排序,会挨个比对第一个字符,然后第二个字符,然后以此类推,asc 是代表正序,就是小的在上,desc是倒序,
不过这里存在问题,如果秒数都是两位数倒是好说,但是如果秒数是1位数 比如9秒00 那么在第二位排序的时候就会用秒字跟其他数字相比较,会出问题的,建议规范格式,强制要求秒数位数固定,或者干脆这个字段用数字来代替,比如11秒97,让他秒数变成1197,数字比大小是不会出现问题的。
order by 的意思是排序,你的mark应该是一个字符串类型的字段(如果是oracle的话应该是varchar2) order by 跟的是一个字段,意思是按照这个字段进行排序,字符串的排序,会挨个比对第一个字符,然后第二个字符,然后以此类推,asc 是代表正序,就是小的在上,desc是倒序,
不过这里存在问题,如果秒数都是两位数倒是好说,但是如果秒数是1位数 比如9秒00 那么在第二位排序的时候就会用秒字跟其他数字相比较,会出问题的,建议规范格式,强制要求秒数位数固定,或者干脆这个字段用数字来代替,比如11秒97,让他秒数变成1197,数字比大小是不会出现问题的。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在sql语句后面加order by mark
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from 成绩表 order by mark asc
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |