我有一个包含数千行的MySQL数据库。假设每行只有一列,每个单元包含一个Unicode字(即中文字)。如何对记录进行排序,以便结果集首先返回首字母数最少的单词?
例如: 如果我有AA,BB,CCC,D,EEEE,那么我希望结果集按如下方式排序:D,AA,BB,CCC,EEEE
谢谢。
答案 0 :(得分:2)
您可以使用char_length(your_column)
作为unicode字符将占用多个字节。
select * from table
order by char_length(col), col;
答案 1 :(得分:0)
按照列的长度排序,然后按列自行排序:
SELECT *
FROM YourTable
ORDER BY length(YourCol),
YourCol