在mysql中的顺序应该与在excel中排序相同?

时间:2015-05-20 07:13:12

标签: php mysql sorting sql-order-by

在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

2 个答案:

答案 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