100米成績表(id,name,mark,rank);怎么實現(xiàn)排序輸出.比如:id name mark rank1 張三 12秒00 2 李四 11秒97 3 王五 13秒00怎么實現(xiàn)安排mark的順序輸出,并填入排名(rank)這種效果:1 李四 11秒97 12 張三 12秒0 23 王五 13秒00 3采納加分
2 回答

守著一只汪
TA貢獻1872條經(jīng)驗 獲得超4個贊

慕尼黑8549860
TA貢獻1818條經(jīng)驗 獲得超11個贊
select * from 百米成績表 order by mark asc
order by 的意思是排序,你的mark應(yīng)該是一個字符串類型的字段(如果是oracle的話應(yīng)該是varchar2) order by 跟的是一個字段,意思是按照這個字段進行排序,字符串的排序,會挨個比對第一個字符,然后第二個字符,然后以此類推,asc 是代表正序,就是小的在上,desc是倒序,
不過這里存在問題,如果秒數(shù)都是兩位數(shù)倒是好說,但是如果秒數(shù)是1位數(shù) 比如9秒00 那么在第二位排序的時候就會用秒字跟其他數(shù)字相比較,會出問題的,建議規(guī)范格式,強制要求秒數(shù)位數(shù)固定,或者干脆這個字段用數(shù)字來代替,比如11秒97,讓他秒數(shù)變成1197,數(shù)字比大小是不會出現(xiàn)問題的。
添加回答
舉報
0/150
提交
取消