MySQL中进行排序按照1 11 2 22的排序方式需要对文本进行分割,并且在排序时特殊处理。具体操作如下:
SELECT * FROM table ORDER BY CAST(SUBSTRING_INDEX(column_name,' ',1) AS INTEGER),CAST(SUBSTRING(column_name FROM (INSTR(column_name,' ')+1))) AS INTEGER
以上代码实现了在ORDER BY语句中对列名进行分割操作,并对每个分割后的数字进行排序。这样就可以保证1在11前,2在22前的排序效果。
实际使用时,需要把column_name替换成需要排序的列名。如果要降序排序,则只需要在语句后面加上DESC关键字即可。
同时需要注意,使用以上排序方式时,列中的数据需要符合特定的格式,即每个数字与其后一个数字之间需要有一个空格。如果列中存在不符合要求的数据,排序可能不正确。