我想对包含数字和字母数字项的列表进行排序,如下所示:
这就是我想留下来的方式:
但是,当我使用'order by'子句时,排序如下所示:
该顺序是因为句子检测到字符串列表,字符串的自然排序按字母顺序排列
我不知道如何将数字与字符串分开进行排序,首先使用数字,第二种使用字母数字顺序
答案 0 :(得分:0)
是一个自然的排序你想要的是什么?尝试使用Order by Length(column), column
。
实际上,这只是短版本,并不总是按预期工作。如果您想要REAL自然排序,请使用:Natural Sort in MySQL
答案 1 :(得分:0)
您可以尝试将字母数字列转换为 bytea 数据类型并尝试这样:
SELECT colname
FROM tablename
ORDER BY colname::bytea;