我们知道通过 SELECE 语句可以从 MySQL 表中查询数据,如果需要增加排序功能,则在 SELECT 查询语句后面增加 ORDER BY 列名 ASC|DESC

    需要注意的是,中文字段和英文、数字类型的字段排序有点区别,不同的编码方式,会有不同的排序效果。

    如果对应的排序字段采用的是 GBK 的字符编码,则只需要在查询语句后面增加 ORDER BY 语句,如下所示。

    1. SELECT
    2. *
    3. FROM
    4. t_student
    5. ORDER BY name;

    如果对应的排序字段采用的是 UTF-8 的字符编码,则需要先将字段转码成 GBK 然后再排序,如下所示。

    1. SELECT
    2. *
    3. FROM
    4. t_student
    5. ORDER BY CONVERT(name USING GBK);

    为什么需要将字段先转码成 GBK 呢?

    因为 GBK 是按照拼音字母排序的,而 UTF-8 不是按照拼音字母排序的,所以需要先转码成 GBK,然后再排序,才能实现按照拼音字母排序。

    作者:殷建卫 链接:https://www.yuque.com/yinjianwei/vyrvkf/zs4i5b 来源:殷建卫 - 架构笔记 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。