select
from 表
order by cast(substring(列名,2,char_length(列名)-2) as unsigned integer) asc
PS:若要降序排列将上面的asc用desc替换即可
当字段类型是本文时,
排序方法会一个字元一个字元比较
1
=>
'1'
2
=>
'2'
10
=>
'10'
'2'
>
'10'
因为比较时先比较两个文字的第一个字元,
'2'
>
'1'
所以
'2'
>
'10'
所以在编写数据时
'1'
=>
'0001'
'2'
=>
'0002'
'10'
=>
'0010'
'100'
=>
'0100'
这样子排序就会如你预期的顺序
或者如楼上所言,把字段类型换成数字型就可以了
select 名次=(select count(1) from 成绩表 a where aid=bid and a总分>=b总分),学号,数学,语文,英语,总分 from 成绩表 b order by 总分 desc
以上就是关于请教一个关于数据库排序的问题全部的内容,包括:请教一个关于数据库排序的问题、access数据库怎样才能排序请知道的人帮忙解决一下!、数据库排序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)