如何把查询出的结果按姓氏笔画排序

Select * 
From TableName
Order By UserName Collate Chinese_PRC_Stroke_CI_AS

注意order by后面使用的列只能为charvarchar,ncharnvarchar 数据类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要按照姓氏笔画对名单进行排序,可以使用Java的Collections.sort()方法和自定义比较器(Comparator)。 首先,需要定义一个姓氏笔画的字典,可以使用一个HashMap来存储每个姓氏对应的笔画数。 然后,定义一个Person类,其中包含姓名属性。接着,创建一个实现Comparator接口的姓氏比较器类,重写compare方法,根据姓氏笔画对两个Person对象进行比较。 最后,将名单中的Person对象存储在一个List中,调用Collections.sort()方法,传入名单List和自定义的比较器对象即可按照姓氏笔画排序。 下面是一个示例代码: ```java import java.util.*; public class Main { public static void main(String[] args) { // 定义姓氏笔画字典 Map<String, Integer> strokes = new HashMap<>(); strokes.put("张", 8); strokes.put("王", 9); strokes.put("李", 7); strokes.put("赵", 13); // 定义Person类 class Person { String name; public Person(String name) { this.name = name; } public String getName() { return name; } } // 定义姓氏比较器 Comparator<Person> cmp = new Comparator<Person>() { public int compare(Person p1, Person p2) { String lastName1 = p1.getName().substring(0, 1); String lastName2 = p2.getName().substring(0, 1); Integer strokes1 = strokes.get(lastName1); Integer strokes2 = strokes.get(lastName2); return strokes1 - strokes2; } }; // 定义名单List List<Person> list = new ArrayList<>(); list.add(new Person("李明")); list.add(new Person("张三")); list.add(new Person("王五")); list.add(new Person("赵六")); // 按照姓氏笔画排序 Collections.sort(list, cmp); // 输排序结果 for (Person p : list) { System.out.println(p.getName()); } } } ``` 输结果为: ``` 张三 李明 王五 赵六 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值