1、mysql处理方式

order by convert(a.brand_name using gbk) collate gbk_chinese_ci asc
以上的 sql 语句即表明以表 a 的 brand_name 拼音首字母来排序,不过这种写法是针对字段的字符编码 utf8_general_ci 的。
如果字符编码是 latin1_swedish_ci ,用以下的写法:
order by birary(a.brand_name) asc

2、java代码中的处理方式

先按照销量倒叙,再按照首字母升序
userRank.stream().sorted(Comparator.comparing(ERPUserRankVo::getTotalMoneyTC,Comparator.nullsFirst(BigDecimal::compareTo)).reversed().thenComparing(ERPUserRankVo::getSalerName,Collator.getInstance(java.util.Locale.CHINA))).collect(Collectors.toList());