我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL中怎么按照指定的字段排序

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL中怎么按照指定的字段排序

本篇文章为大家展示了MySQL中怎么按照指定的字段排序,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

测试数据

drop table a;

create table a (x varchar(10),y varchar(10));

insert into a values('yujx','all'),('oracle','pc'),('mysql','mobile');

#表a的测试数据如下
MySQL>select * from a;
+--------+--------+
| x      | y      |
+--------+--------+
| yujx   | all    |
| oracle | pc     |
| mysql  | mobile |
+--------+--------+
3 rows in set (0.00 sec)

#默认的按y排序(升序或降序)结果
MySQL>select * from a order by y;
+--------+--------+
| x      | y      |
+--------+--------+
| yujx   | all    |
| mysql  | mobile |
| oracle | pc     |
+--------+--------+
3 rows in set (0.00 sec)


MySQL>select * from a order by y desc;
+--------+--------+
| x      | y      |
+--------+--------+
| oracle | pc     |
| mysql  | mobile |
| yujx   | all    |
+--------+--------+
3 rows in set (0.00 sec)

 

现在想按mobile->all->pc的顺序排序,可使用如下方法

方法一:使用 FIND_IN_SET(str,strlist) 函数
MySQL>select * from a order by find_in_set(y,'mobile,all,pc');
+--------+--------+
| x      | y      |
+--------+--------+
| mysql  | mobile |
| yujx   | all    |
| oracle | pc     |
+--------+--------+
3 rows in set (0.00 sec) 

方法二:使用FIELD(str,str1,str2,str3,...)函数
#FIELD函数主要用途会返回值在后面列表中的位置,如下
MySQL>select x,y,field(y,'mobile','pc','all') sort_Nu from a order by field(y,'mobile','pc','all');   
+--------+--------+---------+
| x      | y      | sort_Nu |
+--------+--------+---------+
| mysql  | mobile |       1 |
| oracle | pc     |       2 |
| yujx   | all    |       3 |
+--------+--------+---------+
3 rows in set (0.00 sec)

方法三:使用 SUBSTRING_INDEX(str,delim,count) 函数
MySQL>select * from a order by substring_index('mobile,all,pc',y,1);
+--------+--------+
| x      | y      |
+--------+--------+
| mysql  | mobile |
| yujx   | all    |
| oracle | pc     |
+--------+--------+
3 rows in set (0.00 sec)
#看下面 substring_index('mobile,all,pc',y,1) 取值,可知按b列的值排序 y的顺序固然就是 mobile,all,pc了
MySQL>select y,substring_index('mobile,all,pc',y,1) b  from a;
+--------+-------------+
| y      | b           |
+--------+-------------+
| all    | mobile,     |
| pc     | mobile,all, |
| mobile |             |
+--------+-------------+
3 rows in set (0.00 sec)

方法四:使用case when

MySQL>select x,y,case when y='mobile' then 1 when y='all' then 2 when y='pc' then 3 end sort_nu from a order by  case when y='mobile' then 1 when y='all' then 2 when y='pc' then 3 end;

+--------+--------+---------+
| x      | y      | sort_nu |
+--------+--------+---------+
| mysql  | mobile |       1 |
| yujx   | all    |       2 |
| oracle | pc     |       3 |
+--------+--------+---------+
3 rows in set (0.00 sec)

上述内容就是MySQL中怎么按照指定的字段排序,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL中怎么按照指定的字段排序

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Mysql 按照指定字符串顺序排序

问题 :排序中。 假如每一条记录都有一个字段。“交通工具” 。 假如我现在想要查询结果按照我指定的字符串来排序(不是字符顺序排序), 例如,按照 飞机-轮船-汽车 的顺序进行排序。在不用分组的情况下。 有没有类似这样的写法? order by ("

	Mysql 按照指定字符串顺序排序
2021-05-28

mysql怎么按字段值排序

要按字段值对结果进行排序,可以使用ORDER BY子句。例如,要按字段名为name的值对结果进行升序排序,可以这样写:SELECT * FROM table_nameORDER BY name ASC;要按字段名为name的值对结果进行
mysql怎么按字段值排序
2024-03-14

mysql按照两个或多个字段排序【转】

如何让mysql按照两个或多个字段排序 错误方式:order   by   last_time   and   id   desc 这种方式两个字段都是降序的(and隔开哪个,第二个参数不起作用。) 正确方式:order by last_time desc,i
mysql按照两个或多个字段排序【转】
2021-11-05

mysql怎么按两个字段排序

在MySQL中,可以使用ORDER BY子句按照两个字段进行排序。例如,如果要按照字段column1和column2进行升序排序,可以使用以下查询语句:SELECT * FROM table_name ORDER BY column1,
mysql怎么按两个字段排序
2024-04-09

excel排序怎么按照自定义序列排序

这篇文章主要介绍“excel排序怎么按照自定义序列排序”,在日常操作中,相信很多人在excel排序怎么按照自定义序列排序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”excel排序怎么按照自定义序列排序”的疑
2023-07-02

golang中如何按照结构体的某个字段排序

本文小编为大家详细介绍“golang中如何按照结构体的某个字段排序”,内容详细,步骤清晰,细节处理妥当,希望这篇“golang中如何按照结构体的某个字段排序”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。概述gol
2023-06-30

oracle怎么根据指定字段顺序排序

可以使用ORDER BY子句来根据指定字段进行排序。以下是一些示例:1. 升序排序:使用ASC关键字```SELECT * FROM 表名 ORDER BY 字段1 ASC, 字段2 ASC;```2. 降序排序:使用DESC关键字```S
2023-09-09

Java怎么将list集合数据按照时间字段排序

这篇文章主要介绍了Java怎么将list集合数据按照时间字段排序的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java怎么将list集合数据按照时间字段排序文章都会有所收获,下面我们一起来看看吧。示例:
2023-07-05

SQL怎么按某个字段值的顺序排序

在SQL中,可以使用ORDER BY子句按照某个字段的值的顺序对查询结果进行排序。ORDER BY子句可以使用在SELECT语句的末尾。以下是一个示例,演示如何按照一个名为"field_name"的字段值的顺序对查询结果进行排序:SEL
SQL怎么按某个字段值的顺序排序
2024-04-09

编程热搜

目录