mysql like模糊匹配,按照匹配度排序方式

 更新时间:2023年08月29日 09:41:19   作者:古之恶来  
这篇文章主要介绍了mysql like模糊匹配,按照匹配度排序方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

mysql like模糊匹配,按照匹配度排序

需求:需要查询用户表里面的用户名称,根据用户名称的相似度进行排序,总表数据 20万+

方法一: $keyword = ‘简笔画’;

LENGTH()

SELECT nick_name,id FROM show_user 
WHERE nick_name LIKE '%$keyword %' ORDER BY LENGTH($keyword )

时间: 0.0014s

tp5 里面无法使用->order(LENGTH()) ;网上也没有查找到数据资料。有知道的可以告知.

方法二

SELECT nick_name,id,(length(nick_name)-length('简笔画')) as rn FROM 
show_user WHERE nick_name LIKE '%简笔画%' ORDER BY rn

方法三

SELECT nick_name,id,LOCATE("简笔画",nick_name) as rn 
FROM show_user WHERE nick_name LIKE '%简笔画%' ORDER BY rn ASC

此时查询出来的数据无法100%完全匹配顺序, LOCATE() 是匹配文字的在字段的中的位置。

LOCATE(substr,str);

返回字符串substr中第一次出现子字符串的位置 str。

mysql获取模糊,根据模糊查询匹配度大小排序

方法一

根据匹配结果的长短排序

select * from audit_manage_pro where pro_name LIKE '%集成电路%' ORDER BY ABS(LENGTH(pro_name)-LENGTH('集成电路'))

方法二

select * from audit_manage_pro where pro_name LIKE '%集成电路%' ORDER BY LOCATE('集成电路',pro_name)

方法三

select * from audit_manage_pro where pro_name LIKE '%集成电路%' ORDER BY REPLACE(pro_name,'集成电路','')

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • mysql中的日期相减的天数函数

    mysql中的日期相减的天数函数

    这篇文章主要介绍了mysql中的日期相减的天数函数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Express项目中操作MySQL的步骤

    Express项目中操作MySQL的步骤

    本文详细介绍了如何在Express项目中操作MySQL数据库,包括安装配置、连接数据库、执行SQL语句以及处理查询结果等关键步骤,感兴趣的朋友跟随小编一起看看吧
    2025-02-02
  • Mysql5.7中JSON操作函数使用说明

    Mysql5.7中JSON操作函数使用说明

    本文给大家分享的是在mysql5.7中操作json的函数的使用方法以及相关示例,非常的实用,有需要的小伙伴可以参考下
    2017-07-07
  • 解决MySQL报错:You can‘t specify target table ‘region‘ for update in FROM clause

    解决MySQL报错:You can‘t specify target table ‘region‘ for 

    这篇文章主要给大家介绍了关于MySQL报错:You can‘t specify target table ‘region‘ for update in FROM clause的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • SQL 日期处理视图创建(常见数据类型查询防范 SQL注入)

    SQL 日期处理视图创建(常见数据类型查询防范 SQL注入)

    这篇文章主要为大家介绍了SQL日期处理和视图创建:常见数据类型、示例查询和防范 SQL 注入方法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • MySQL安全模式下创建账号的操作指南

    MySQL安全模式下创建账号的操作指南

    MySQL 的安全模式通常指在跳过权限验证或限制特定功能的状态下启动数据库,常用于管理员密码遗忘、权限损坏等紧急维护场景,本文给大家介绍了如何在MySQL安全模式下创建账号,需要的朋友可以参考下
    2026-05-05
  • mysql函数之常见数学函数示例详解

    mysql函数之常见数学函数示例详解

    文章总结了多个数学和字符串处理函数的功能和使用示例,包括格式化数字、计算绝对值、平方根、取整、生成随机数、四舍五入、截断、返回符号、幂运算以及最大值最小值的计算,感兴趣的朋友一起看看吧
    2025-03-03
  • mysql 常用命令集锦(Linux/Windows)

    mysql 常用命令集锦(Linux/Windows)

    这篇文章主要介绍了Linux/Windows系统下mysql 常用的命令,需要的朋友可以参考下
    2014-07-07
  • mysql如何根据汉字首字母排序

    mysql如何根据汉字首字母排序

    这篇文章主要介绍了mysql根据汉字首字母排序sql语句,需要的朋友可以参考下
    2014-03-03
  • MySQL中WITH用法小结

    MySQL中WITH用法小结

    WITH子句是MySQL中的一种SQL结构,本文主要介绍了MySQL中WITH用法小结,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10

最新评论