mysql 中根据关键字进行模糊查询,按照匹配度进行排序的SQL语句样例

本文提供了一个示例SQL查询,用于在MySQL中根据用户输入的关键字进行模糊匹配,并根据匹配度对结果进行排序。查询涉及到多个条件如ID、中文名、英文名等,并使用了MyBatis的语法。
部署运行你感兴趣的模型镜像

需求:根据用户输入的关键字(中英文区别,)然后根据关键字进行匹配,根据匹配度高低进行排序;

<!-- 根据搜索字符模糊查询,根据匹配度进行排序 -->
    <select id="getPOIListByName" parameterType="entity.poi.Poi" resultMap="poiResultMap">
        SELECT * FROM gt_poi 
        <if test="id != null" >AND  id=#{id}</if>
        <if test="cnName != null and cnName != ''">AND cn_name like CONCAT('%','${cnName}','%' )  </if>
        <if test="enName != null and enName != ''">AND en_name like CONCAT('%','${enName}','%' )  </if>
        <if test="online != null">AND online=#{online}</if>
        <if test="approve != null">AND approve=#{approve}</if>
        <if test="status != null">AND status=#{status}</if>
        <if test="continentId != null">AND continent_id=#{continentId}</if>
        <if test="countryId != null">AND country_id=#{countryId}</if>
        <if test="provinceId != null">AND province_id=#{provinceId}</if>
        <if test="cityId != null">AND city_id=#{cityId}</if>
        <if test="regionId != null">AND region_id=#{regionId}</if>
        <if test="type != null">AND type=#{type}</if>
             ORDER BY <if test="cnName != null and cnName != ''">
                             REPLACE(cn_name,'${cnName}','')  </if>
                            <if test="enName != null and enName != ''">
                             REPLACE(en_name,'${enName}','')  </if>
        <if test="startRow>=0 and pageRow>0">limit #{startRow},#{pageRow}</if>

    </select>


注意:不要select* ;

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值