作者:netguestcn
有时,可能需要进行排序的 Microsoft Access 基于自定义排序次序 (也就是不按升序或降序,而是由用户指定的排序次序)。
附件示例“雇员”表中,如按“职务”字段升序排序,一般默认为按字母顺序:副总裁(销售)、内部销售协调员、销售代表、销售经理。但如果您想按职务高低来排序,就要用到其它方法来自定义排序次序了(见附件)。
方法1、Switch函数排序SQL查询语句如下:
Select 雇员.雇员ID, 雇员.姓氏, 雇员.名字, 雇员.职务
FROM 雇员
ORDER BY Switch([职务]="副总裁(销售)","a",[职务]="销售经理","b",[职务]="内部销售协调员","c",[职务]="销售代表","d");
方法2、IIF函数排序SQL查询语句如下:
Select 雇员.雇员ID, 雇员.姓氏, 雇员.名字, 雇员.职务
FROM 雇员
orDER BY IIf([职务]="副总裁(销售)",1,IIf([职务]="销售经理",2,IIf([职务]="内部销售协调员",3,IIf([职务]="销售代表",4,5))));
“职务”是包含排序值的字段的名称。引号引起来的值是存储在字段中的各个值。后面的数值则是分配给它的序号。前面的表达式将序号 1 到 4 分配给四个不同的职务,并将序号 5 分配给所有其他人。执行排序时,将为此表达式中未提到的职务分配相同的序号 (5)。
Access排序基础数据
连接查询排序:
Switch函数自定义排序SQL语句:
IIF函数自定义排序SQL语句:
自定义排序效果图:
如想更快的系统地学习Access数据库,请点右上角 关注 部落 点击加入群:access学习群 与更多Access大牛交流 如果您觉得这篇技巧真的有用,请关注我们。更重要手机转发分享一下!
如喜欢此技巧,手机右上角点开,分享到QQ空间,方便自己以后看