zoukankan      html  css  js  c++  java
  • MySQL多项模糊查询

    最近有个需求,就是要根据搜索框里面的关键字,找到符合条件的数据。

    如果是单个条件的话,其实就是一个普通的select语句。

    但是需求是这个关键字,要在id,desc,step等多个字段模糊查找。

    然后最直观的一个思路肯定就是:

    select * from t_bug where `id` like  %key% or `desc` like %key%
    or `step` like %key%

    对一条记录,要对id、desc、step三项都判断一下符不符合key。

    缺点:需求只有三个记录,如果是多个记录的话,那就效率会很慢,而且修改这个语句也很复杂。

    一个更好的方法是,把需要模糊查询的各个字段,用concat拼接起来,成为一整个字符串,再用like来匹配。

    SELECT * FROM t_bug WHERE  CONCAT(`desc`,`step_to_string`,`bug_id`) LIKE %key%

    我在项目中就是这么做的,导师也认为没什么大问题:

    各位有什么更好的方法,也可以交流一下哈。

  • 相关阅读:
    Web实现大文件分片上传的方法
    kinova环境配置
    c++ stl list
    echarts饼图
    js函数
    飞浆测试日志
    IfcRevolvedAreaSolidTapered
    matlab一元二次方程求根
    运行日志
    常用的sql
  • 原文地址:https://www.cnblogs.com/wzben/p/7026902.html
Copyright © 2011-2022 走看看