2 回答

TA貢獻1853條經(jīng)驗 獲得超9個贊
100米成績表(id,name,mark,rank);怎么實現(xiàn)排序輸出.比如:
id name mark rank
1 張三 12秒00
2 李四 11秒97
3 王五 13秒00
怎么實現(xiàn)安排mark的順序輸出,并填入排名(rank)
這種效果:
1 李四 11秒97 1
2 張三 12秒0 2
3 王五 13秒00 3

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