当前位置:网站首页>mysql实现按照自定义(指定顺序)排序
mysql实现按照自定义(指定顺序)排序
2022-08-02 05:00:00 【web15286201346】
mysql按照指定顺序排序(自定义排序)
一、mysql中实现指定排序需求
一般情况下,我们排序都是直接利用 order by 字段 asc/desc;但是如果要排序的字段数据格式并不能直接实现,或者说我们需要指定的顺序且没有什么规律,简单的order by字段就实现不了;
如下图中表;
我们需要按照中国银行,建设银行,工商银行顺序排序;直接使用order by 字段并不能得到我们想要的顺序
同样,对于类型我们想要按正回购,买入,卖出这样的顺序去排序,简单的order by 字段也不能实现;
二、解决方案
1:自定义排序实现
01. case when 转换实现自定义排序;
使用case when 将字段中的中国银行,建设银行,工商银行,转换为1,2,3,这样在我们再使用order by实现数据的自定义重排。
02:mysql排序函数filed 实现自定义排序(推荐);
MySQL中的field()函数,可以用来对SQL中查询结果集进行指定顺序排序。
field(str,str1,str2,str3…)字段str按照字符串str1,str2,str3…的顺序返回查询到的结果集。如果表中str字段值不存在于str1,str2,str3中的记录,放在结果集最前面返回。
03:函数locate 实现自定义排序;
还可以利用locate函数来实现排序;
locate(subStr,string) :判断字符串(string)中是否包含另一个字符串(subStr),函数返回的是subStr在string中出现的位置;
04:函数lnstr 实现自定义排序;
INSTR(STR,SUBSTR) 在一个字符串(STR)中搜索指定的字符(SUBSTR),返回发现指定的字符的位置(INDEX);
同locate函数大致一样,不过函数内参数一个在前,一个在后;
05:利用数据字典实现自定义排序;
对于部分相对比较固定的字段,一般可以建立数据字典项来,不仅方便返回给前端做下拉等,也方便后期添加和修改的维护,也可以在数据字典中给与对应的顺序;主要可以方便后期调整和维护;只需要修改数据字典中的排序即可;
首先,需要在数据字典表中建立相应的数据字典项并维护顺序;
其次,存储时直接存储对应的数据字典值就可以了,然后关联查询,利用数据字典顺序排序;即可;
如果顺序有变,或者要添加新的类型,也只需要在数据字典中维护即可,不需要修改sql,扩展性较好(有需要甚至可以给与数据字典的配置页面专门维护);
仅作记录,方便后续查阅,如有错误还望
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- Anatomy of Unreal Playback System (Part 1)
- RADIUS 如何提高 WiFi 无线网络安全性?
- 元空间内存溢出
- 迅为RK3568开发板编译Buildroot-全自动编译
- Liquidated damages are too high"
- MySQL如何对SQL做prepare预处理(解决IN查询SQL预处理仅能查询出一条记录的问题)
- [Errno 13] Permission denied:’/usr/local/share/jupyter’
- 安全测试常见问题
- MySql字符串拆分实现split功能(字段分割转列、转行)
- 如何运用3DGIS技术整合智慧社区综合管理解决方案
猜你喜欢
随机推荐
Centos7.9+mysql8.0开启指定IP远程连接数据库
单调队列模板 滑动窗口
MySQL安装常见报错处理大全
【Gazebo入门教程】第一讲 Gazebo的安装、UI界面、SDF文件介绍
力扣练习——44 路径总和 III
使用pycharm debug 深度学习代码
MySQL 8.0.29 解压版安装教程(亲测有效)
07-传统的生产者消费者问题、防止虚假唤醒
go项目的打包部署
你要的在这里,自己维护的石墨文档
【热题】LeetCode 热题 HOT 100分类+题解
MP更新操作方式
MES系统物料管理的五大功能,建议收藏
MySQL 用户授权
MySQL安装教程
[QNX Hypervisor 2.2用户手册]9.20 vdev
如何运用3DGIS技术整合智慧社区综合管理解决方案
HSCTF2022-re题解
牛客-TOP101-BM41
Live | 7.30 ApacheCon Asia 2022 IOT/IIOT topic, IoTDB PMC Qiao Jialin as the producer