【大数据技术】!重要!MySQL里按某字段指定内容顺序排序的几种实现方法
背景:
实操 :
- 数据准备
- 开启MySQL,并建表
create table t001( id int , name varchar(20), city varchar(32), class varchar(32)) ;
- 插入数据
insert into t001 values(1,‘tom’,‘beijing’,‘yiban’) ;
insert into t001 values(2,‘jack’,‘beijing’,‘yiban’) ;
insert into t001 values(3,‘lili’,‘shanghai’,‘erban’) ;
insert into t001 values(4,‘david’,‘nanjing’,‘yiban’) ;
insert into t001 values(5,‘peter’,‘hangzhou’,‘erban’) ;
- 实现方法
- 使用case when
代码如下:
> select *
> from t001
> order by case when class='yiban' then 1
> when class='erban' then 2 end
> desc
> ;
- 使用MySQL 的field方法
> select *
> from t001
> order by
> field(name,'lili','tom','peter')
> ;
- 使用locate方法配合实现
> select *
> from t001
> order by locate(city ,'nanjing,beijing,')
> ;`
- 利用instr方法配合实现
> select *
> from t001
> order by instr('hangzhou,nanjing,beijing',city)
> ;`
—本文待更新