关于 mysql 查询字符串排序的问题

2016-07-24 14:46:18 +08:00
 astome

如果一个字段存的是

A1 A2 A10 A15 A6 A90

查询结果 如何倒序排序 用到什么函数吗?大神们

2658 次点击
所在节点    MySQL
6 条回复
lilifenghao44
2016-07-24 20:07:22 +08:00
sql 最后加上 order by 字段名 desc
sss3600123
2016-07-24 20:31:20 +08:00
直接 order by 字段名
billlee
2016-07-24 22:19:54 +08:00
你是想把 A6 排在 A2 和 A10 之间吗?
astome
2016-07-26 08:58:45 +08:00
@billlee 我描述的有点问题,我的意思是说如何按照 有字母后面带数字的 数据 并按照字母后面的数字大小 进行排序,如何直接 order by 会直接 把 A10 排在前面 而 A2 排后面 因为 A10 匹配的第一个数字是 1 会比 A2 大 但实际 A10 比 A2 要大
Martin9
2016-07-26 17:08:46 +08:00
@astome
SELECT * FROM tableName order by Cast (( substring (colname, Cast (( patindex ( ' %[0-9]% ' ,colname)) as int ), 100 )) as int )

tablename 和 colname 对应表面和字段名
astome
2016-07-26 17:52:29 +08:00
@Martin9 大牛膜拜中...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/294552

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX