Mysql-模糊匹配度排序分页

Mysql-模糊匹配度排序分页

抛出问题

在使用模糊匹配+分页的时候想根据匹配度高进行排序应该如何实现呢?

在这里插入图片描述

上面是添加的模拟数据,根据匹配度高的情况下张三的优先级肯定是最高的,首先直接使用模糊搜索+分页看看效果吧。

在这里插入图片描述

很明显的可以看到,没有根据匹配度高进行排序。因为在mysql中未使用order by的情况下,默认使用主键进行升序。因此这里是按照默认主键的排序规则。

模糊匹配精准度排序:

在这里插入图片描述

使用char_length方法后可以实现精准度排序了,这个方法主要含义是返回字符串的字符长度,可以相当于把精准匹配的字符串放到最前面了。

升级:

在这里插入图片描述

刚刚可以把精度匹配最高的排序到最上面了,但是还没完,,如上张三丰的位置应该在第3位,此时又应该如何排序呢?

在这里插入图片描述

在长度相同时,进一步按照“张三”在name字段中出现的位置进行升序排序。LOCATE('张三', name)返回“张三”在name字段中首次出现的位置索引,位置越靠前,索引值越小。所以,如果多个名字长度相同且都包含“张三”,那么“张三”出现得更早的名字会排在前面。

结束语

从表a中选取包含特定子串(“张三”)的name字段记录,按两层规则进行排序:

  1. 长度优先: 首先依据name字段的字符长度进行升序排列,短名字排在前面。
  2. 子串位置次之: 对于长度相同的记录,根据子串“张三”在name字段中的起始位置进行升序排序,子串出现越早,记录排列越靠前。

ame`字段中的起始位置进行升序排序,子串出现越早,记录排列越靠前。

该查询适用于需要同时考虑名字长度和特定子串位置的特定排序需求场景,但可能带来一定的查询复杂性和潜在性能问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/820312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【解决】Spring Boot创建项目常见问题

🎥 个人主页:Dikz12🔥个人专栏:Spring学习之路📕格言:吾愚多不敏,而愿加学欢迎大家👍点赞✍评论⭐收藏 目录 idea无maven选项 无效发行版17 类⽂件具有错误的版本 61.0, 应为 …

数据库字段命名指南:为大型ERP系统提供通用性中英文对照表

当设计数据库时,良好的字段命名是确保系统可维护性和可扩展性的关键之一。在大型ERP系统开发中,尤其需要注意数据库字段的命名规范,以确保系统的可读性和可维护性。本文将探讨在数据库设计中使用拼音和英文单词命名的优缺点,并提供…

海外云手机为什么适合社媒运营?

如今,社媒营销如果做得好,引流效果好的账号,可以用来带货变现,而外贸、品牌出海也同样都在做社媒营销,Tik Tok、facebook、ins等热门的海外社媒平台都是行业密切关注的,必要的时候,大家会使用海…

「51媒体」权重高新闻源央级媒体邀约资料有哪些?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 权重高的央级媒体邀约资源包括了中国一些最具影响力和权威性的新闻机构。具体如下: 人民日报:作为中国共产党中央委员会的机关报,人民日报具有极高的权…

硬件测试学习——电源纹波测试(2024.04.15)

参考链接1: 测试开关电源的纹波 在此感谢各位前辈大佬的总结,写这个只是为了记录学习大佬资料的过程,内容基本都是搬运的大佬博客,觉着有用自己搞过来自己记一下,如果有大佬觉着我搬过来不好,联系我删。 硬件测试学习—…

腾讯EdgeOne产品测评体验—Web安全的攻与防:云端防护一体化

目录 简介接入准备EdgeOne购买及接入服务器环境配置添加测试站点关闭防护 安全性能测试XSS攻击sql注入 站点加速测试代码测试通过在线工具对比测试Ping检测tcping网站测速 HTTPS证书 操作步骤优点 总结EdgeOne的优缺点 简介 EdgeOne,作为腾讯云推出的全新CDN解决方…

使用 mysql 命令行访问 ClickHouse 服务器

ClickHouse 这点不错,支持MySQL wire通讯协议,用 mysql 命令行直接连 ClickHouse 服务器,用起来跟 MySQL 几乎一样。 mysql 命令行客户端版本:8.0.16 ClickHouse 服务器版本:24.1.8.22 不需要任何配置,只…

java websocket服务端丢消息

前提:客户端和服务端基于websocket进行交互,客户端每隔8s发送心跳,服务端检测心跳,超过三分钟没收到会关闭session。   现象:客户端日志记录发送了心跳消息,服务端没收到心跳,超时后服务端关闭…

Qt_30道常见面试题及答案

1. 简述 Qt 是什么? 答:Qt 是一个跨平台的应用程序开发框架,它提供了一系列的工具和库,用于开发图形用户界面(GUI)应用程序。 2. Qt 有哪些主要模块? 答:Qt 的主要模块包括 Qt Co…

Linux之 USB驱动框架-usb-skeleton.c usb驱动源码分析(3)

一、usb 驱动框架图 二、 usb 设备经典驱动:usb-skeleton.c 驱动 路径: drivers/usb/usb-skeleton.c USB骨架程序可以看做一个最简单的USB设备驱动的实例,其分析流程大致如下: static struct usb_driver skel_driver { …

揭示边缘计算网关的市场价格趋势(购买指南)-天拓四方

在数字化转型的大潮中,边缘计算网关作为连接云端与终端设备的核心节点,其重要性日益凸显。然而,面对市场上琳琅满目的边缘计算网关产品,对于许多企业和个人用户来说,边缘计算网关的价格成为选择产品时的重要考量因素。…

Android 14.0 recovery出厂时正在清理字体大小的修改

1.前言 在14.0的系统rom定制化开发中,在系统中recovery模块也是系统中比较重要的模块,比如恢复出厂设置,recovery ota升级,清理缓存等等, 在一些1080p的设备,但是density只是240这样的设备,会在恢复出厂设置的时候,显示的字体有点小,产品要求需要将正在清理的字体调大…

KT-105小动物人工呼吸机

咳咳,请各位小伙伴们注意啦!我们要聊的主题可是相当高大上——小动物呼吸机! 我们得先了解一下什么是小动物呼吸机。这可不是一般的机器哦,它是一种实验设备,主要用于各种各样的科学研究实验中。比如,在基…

【C++类和对象】类和对象的引入

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

2024.4.15力扣每日一题——设计哈希映射

2024.4.15 题目来源我的题解方法一 链表自定义哈希函数 题目来源 力扣每日一题&#xff1b;题序&#xff1a;706 我的题解 方法一 链表自定义哈希函数 使用链表存储每个<key,value>。由于题目有限制put的次数不超过10000次&#xff0c;因此对于哈希函数的设计为&#…

mysql查找binlog的删除记录时间

需求&#xff1a;数据库某表的数据没有了&#xff1b;如何找是什么时修改清掉的&#xff1b; 思路&#xff1a; 1. 查代码&#xff0c;找某表的删除接口&#xff0c;分析是在哪里调用&#xff1b;【部分服务log不全】 2. 查服务的log&#xff1b;【部分服务log不全】 3. 查…

【学习笔记十七】波次管理、自动波次和WOCR介绍及配置

一、手工维护波次 波次是控制仓库活动(如拣配)的仓库请求项目(通常是出库交货订单项目)的分组。这些分组随后在后续流程中一起处理,例如,将分配到波次的所有仓库请求项目传输到仓库任务创建。 注意:仓库请求是出库交货订单、过账更改、库存转储(用于仓库中的内部移动)或入库…

38条Web测试经验分享

1. 页面链接检查 每一个链接是否都有对应的页面&#xff0c;并且页面之间切换正确。可以使用一些工具&#xff0c;如LinkBotPro、File-AIDCS、HTML Link Validater、Xenu等工具。 LinkBotPro不支持中文&#xff0c;中文字符显示为乱码&#xff1b;HTML Link Validater只能测试…

S7-1200PLC控制V90伺服通过FB284实现位置控制的方法

S7-1200PLC控制V90伺服通过FB284实现位置控制的方法 通过西门子报文111和FB284功能块 在V-ASSISTANT中将V90 PN设置控制模式为"基本位置控制(EPOS)" V90 PN与PLC采用PROFINET RT通信方式并使用西门子报文111。 在博途中V90 PN的设备视图中更改报文为:报文111 安装…

VSCode+Cmake 调试时向目标传递参数

我有一个遍历文件层次结构的程序&#xff0c;程序根据传入的文件路径&#xff0c;对该路径下的所有文件进行遍历。这个程序生成一个名为 ftw 的可执行文件&#xff0c;如果我要遍历 /bin 目录&#xff0c;用法为&#xff1a; ftw /bin问题是&#xff0c;如果我想单步跟踪&…