mysql like 匹配排序,MySQL 基于like的模糊查询 并根据查询的匹配度排序
MySQL 基于like的模糊查询 并根据查询的匹配度排序
MySQL 基于like的模糊查询 并根据查询的匹配度排序
项目里有一个新的需求,在检索处原先只有根据各个字段的模糊查询,按照我项目中的例子是 中文名,英文名以及负责人。那么有时候在匹配的字段很多的情况下,如果只输入’ms’(数据库中刚好有这样的英文名) 这个正好匹配的字段原则上要显示在第一列,或者说匹配程度约好的要显示在越前面,而不仅仅是一连串的返回匹配到的结果而已。查询结果又10多页,那个提需求的老哥 我能感受到它的痛苦。
case 表达式
那么言归正传,主要就是对order by部分进行匹配度的计算,这里需要用到 case when 表达式 因为我需要匹配好几个字段。
在case 里面可以有多个when then else的三元表达式
匹配度的计算
这里首先将字段中我们待查询的子串变为空字符串,然后比较剩余字符串长度 与原来字符串长度的比值
length(REPLACE(cn.cn_name,‘ms’,’’))/length(cn.cn_name)
比如说 abcms 在经历 替换以后 变成 abc 比值为 3/5
以及 amsdsms 在经历 替换以后 变成 ads 比值为 3/7
可以发现如果结果越小,表示被替换的值就越多,也就是匹配度越高,那么按照order by的升序排列,就会在越前面被显示出来
SQL语句
select cn.cn_name,cn.en_name ,cn.maintainer
from code_repo.code_new as cn
where
cn.cn_name like "%ms%" or
cn.en_name like "%ms%" or
cn.maintainer like "%ms%"
order by
case
when cn.cn_name like "%ms%" then length(REPLACE(cn.cn_name,'ms',''))/length(cn.cn_name)
when cn.en_name like "%ms%" then length(REPLACE(cn.en_name,'ms',''))/length(cn.en_name)
when cn.maintainer like "%ms%" then length(REPLACE(cn.maintainer,'ms',''))/length(cn.maintainer)
end
结果如下图所示:
MySQL 基于like的模糊查询 并根据查询的匹配度排序相关教程
基于Airtest抖音养号源代码
基于Airtest抖音养号源代码 以前就做过Python做了点Ai和Sprider有点基础就学了学Airtest这个插件,没大规模应该自己玩一玩电音还可以,不用像AutoJs那样找不到了,我这个代码也算是我记录一下也算是给大家抛砖引玉。Airtest的核心是Python,Python就是个脚本
CentOS安装Mysql8.0
CentOS安装Mysql8.0 卸载CentOS 7自带的MariaDB 检查系统是否已经安装MariaDB,CentOS 7默认自带MariaDB,需要覆盖。 查看命令: rpm -qa | grep mariadb 出现如下界面,可以看到系统中自带的mariadb文件,执行删除命令删除掉MariaDB。 删除命令: yum -y rem
WordPress快速建站:(5)安装部署 - MySql8
WordPress快速建站:(5)安装部署 - MySql8 MySQL8安装 1. 到MySQL官网下载页面下载windows下的msi安装文件 2. 将下载好的msi文件拷贝到虚拟机,并双击安装 3. 选择 Developer Default 4. 依赖项检查忽略,点击Yes 5. 点击Execute执行安装 6. 配置向导, Next
基于springboot的mysql实现读写分离
基于springboot的mysql实现读写分离 开发者(KaiFaX) 面向全栈工程师的开发者 专注于前端、Java/Python/Go/PHP的技术社区 作者 |Yrion 来源 | https://www.cnblogs.com/wyq178/p/13352707.html 前言 : 首先思考一个问题:在高并发的场景中,关于数据库都有哪些
基于arduino设计的测温装置
基于arduino设计的测温装置 红外非接触式测温 嵌入式测温装置 一、产品简介 二、设备组成 三、设备的性能指标 四、模块连接 五、PC端准备 六、代码测试 嵌入式测温装置 ??MLX90614 是一款红外非接触式温度计,TO-39 金属封装里同时集成了红外感应热电堆探测器
【MySQL】查询sql的执行过程及MySQL架构分析
【MySQL】查询sql的执行过程及MySQL架构分析 MySQL的发展历史和版本分支: 时间 里程碑 1996 年 MySQL1.0 发布。它的历史可以追溯到 1979 年,作者 Monty 用 BASIC 设计的一个报表工具。 1996 年 10 月 3.11.1 发布。MySQL 没有 2.x 版本。 2000 年 ISAM 升级
Welcome to MySQL Workbench:MySQL NULL 值处理
Welcome to MySQL Workbench:MySQL NULL 值处理 MySQL NULL 值处理: 为了处理这种情况,MySQL提供了三大运算符: IS NULL: 当列的值是 NULL,此运算符返回 true。 IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。 =: 比较操作符(不同于 = 运算符),当比
Mysql:在limit前面加distinct
Mysql:在limit前面加distinct 今天刷牛客,遇到一道sql题是这样的 获取当前(to_date='9999-01-01')薪水第二多的员工的emp_no以及其对应的薪水salaryCREATE TABLE `salaries` (`emp_no` int(11) NOT NULL,`salary` int(11) NOT NULL,`from_date` date NOT NU
mysql like 匹配排序,MySQL 基于like的模糊查询 并根据查询的匹配度排序相关推荐
- 基于隐马尔科夫模型的道路匹配
随着导航定位.移动互联网等技术的快速发展,手机.车载定位装置等设备都可以进行地理空间数据采集.这些不同类型的地理空间数据往往能反映出某种规律.以时空轨迹为例,这些新形式的泛在地理空间数据,能够反映个体 ...
- MySQL模糊查询 结果按匹配度 排序
我们在使用 MySQL 进行模糊查询的时候,受到默认排序的影响,我们会发现与查询关键字相似的记录有时候并没有排到最前面. 如 : CREATE TABLE user(id BIGINT(11) AUT ...
- MySQL 关键字模糊匹配按照匹配度排序
MySQL 关键字模糊匹配,并按照匹配度排序. 方式一.按照关键字搜索,然后根据关键字所占比例排序 SELECTdrug_name,pinyin FROMtbl_drug WHEREpinyin LI ...
- MySQL 索引 :哈希索引、B+树索引、最左前缀匹配规则、全文索引
文章目录 索引 什么是索引 索引优缺点与适用场景 常见的索引 哈希索引 自适应哈希索引 B+树索引 聚集索引 非聚集索引 使用方法 联合索引 最左前缀匹配规则 覆盖索引 全文索引 使用方法 索引 什么 ...
- MySQL基础——数据库和SQL概述\MySQL基本使用\DQL语言学习\条件查询\排序查询\常见函数\分组查询\连接查询\子查询\分页查询\联合查询
本文详细讲解了MySQL中DQL语言,也就是数据查询语句的使用.全文3w余字,是对学习MySQL知识的整理总结,因为篇幅较长,MySQL基础知识余下部分发表在余下博客中 DML语言学习\插入数据\删除 ...
- mysql如何按行数匹配,mysql-将许多行与SQL查询中的许多行匹配,并找到百分位数匹配?...
目前,我正在建立一个招聘平台.雇主可以发布工作并接收申请.雇主可以设置求职者必须匹配的许多技能要求.求职者还可以增加他们拥有的许多技能. 我想找出的是,每个求职者技能中有多少与每个工作的owner_r ...
- mysql 轨迹数据存储_基于Tablestore实现海量运动轨迹数据存储-阿里云开发者社区...
前言 现在越来越多的人都开始关心自己的运动数据,比如每日的计步.跑步里程.骑行里程等.运动APP与运动类的穿戴设备借助传感器.地图.GPS定位等技术,收集好运动数据以后,通过与互联网社交功能结合,产生 ...
- MySQL 排序、分页查询、聚合查询
文章目录 1. 排序 2. 分页查询 3. 聚合查询 3.1 分组聚合 GROUP BY 练习 LeetCode 176. 第二高的薪水 练习 LeetCode 177. 第N高的薪水 练习 Leet ...
- 【MySQL】【翻译】 基于GTID追踪的自适应路由查询
GTID consistent reads 基于GTID的一致性读 作者:René Cannaò ProxySQL的作者 翻译:张锐志 小记:原文的标题和部分段落都有些混乱,已经尽量按作者的想法意义. ...
- mysql 轨迹数据存储_基于Tablestore实现海量运动轨迹数据存储
前言 现在越来越多的人都开始关心自己的运动数据,比如每日的计步.跑步里程.骑行里程等.运动APP与运动类的穿戴设备借助传感器.地图.GPS定位等技术,收集好运动数据以后,通过与互联网社交功能结合,产生 ...
最新文章
- 价值60W 的字节工牌,面试太卷了...
- EventBus3.0 List事件遇到的坑
- java实现可视化报表_如何在Power BI中记录报表可视化?
- messagebox 全部使用_商业篇 | 使用python开发性格分析工具卖钱
- 素材诊断分析助手_资深优化师告诉你广告投放素材都在哪找?(国内篇)
- 打破校史,发学校首篇Science的博士小姐姐,近日再发Nature!破解百年谜题
- python + Eclipse + Pydev 安装
- 【统计学】皮尔森相关系数公式理解
- 现场知识竞赛如何用手机做抢答器
- hp/博科光纤交换机配置小记
- java中执行ddl语句,DDL(数据定义语言)
- 小鸟云服务器:网络基本概念服务、协议、进程、端口之间的关系
- 9月20-21日,十位阿里技术大牛带你玩转大流量与高并发
- 如何学会自主学习?(精品)
- 《2040大预言:高科技引擎与社会新秩序》——第2章 数字化概览2.1 一生中永不停息的视频日记...
- 树莓派科学小实验4B--07_继电器
- android系统手机能看到照片,安卓怎么恢复手机照片?原来可以这样做
- SAP BW QUERY VARIABLES (BW增强变量)
- 计算机考研408 - 操作系统 - 核心知识点总结 - 第一章操作系统概述(23考研408大纲)
- excel培训机构_中金中国企业跨境并购流程、重点问题和交易架构设计(内部培训)42页...
热门文章
- PhpQuery PHP操作HTML类,PHP操作XML类,PHP操作Dom类
- 【LeetCode-面试算法经典-Java实现】【012-Integer to Roman(数字转罗马字符)】
- CrossApp推出移动应用开发神器CrossApp Style
- [NOIP2016]回文日期
- ESP8266制作简单wifi风扇控制器
- Java小项目(三)---汽车租赁系统(面向对象)
- windows安装VS2015
- Netty权威指南电子版(不要积分点个赞就好)
- jtopo更改节点选中框的颜色
- 老男孩python课后作业_老男孩Python全栈学习 S9 日常作业 001