mysql中的排序应该与excel中的排序相同吗? [关闭]

Before sorting in mysql

|user|(Column Name)

2-0904-2
52
100
101
102
103
104
108
109
11
112
113
114
12
13
14
15
16
18
2

After sorting in mysql

|user|(Column Name)

2-0904-2<br>

52
100
101
102
103
104
108
109
11
112
113
114
12
13
14
15
16
18
2

Expected result after sorting as per excel

|user|(Column Name)

2-0904-2
2
11
12
13
14
15
16
18
52
100
101
102
103
104
108
109
112
113
114

In MySQL, you can readily convert a string to a number. You can also test whether a character is a number.

This should produce the sort you are looking for:

order by (left(col, 1) betweeen '0' and '9') desc,
         (col + 0),
         col;

The first clause puts the numbers first. The second converts the leading digits to a number for sorting purposes. The last orders by the value of the column for strings.