在mysql中排序之前
user
--------
2-0904-2
52
100
101
102
103
104
108
109
11
112
113
114
12
13
14
15
16
18
2
在mysql中排序
user
--------
2-0904-2
52
100
101
102
103
104
108
109
11
112
113
114
12
13
14
15
16
18
2
按照excel 排序后的预期结果
user
--------
2-0904-2
2
11
12
13
14
15
16
18
52
100
101
102
103
104
108
109
112
113
114
答案 0 :(得分:0)
使用
order by cast(user as unsigned) asc
或
order by (0 + user) asc
答案 1 :(得分:0)
您正在排序字符串字段。要使用数字比较对它们进行排序,您需要将它们转换为整数。
实施例:
SELECT * FROM table_name ORDER BY CAST(field_name as SIGNED INTEGER) ASC
虽然考虑更改您的字段类型,因为它是您在查询过程中投放字段的开销。查看this answer