当前位置: 首页 > article >正文

MySql精确匹配“,“分隔开的内容的函数语法

最近有一个需求,主表和从表关系是一对多的,但是查询的时候要把从表的字段作为查询条件,且要把匹配到的所有数据进行填充
因此就出现问题了,例如:我传入type=5 如果用 like 去匹配,就会匹配出25,55,255的数据,但是这些都不是要返回的
前提:已经将从表拼接在一起了

SELECT order_no,
        GROUP_CONCAT(DISTINCT type_id) AS typeId,
        GROUP_CONCAT(DISTINCT type_name) AS typeName
        FROM A
        GROUP BY order_no)

解决:

AND FIND_IN_SET(#{dto.type}, type_id) > 0

函数解释:

FIND_IN_SET是 MySQL 提供的一个函数,用于在逗号分隔的字符串中查找某个值是否存在。它返回找到的值在字符串中的位置(从 1 开始),如果找不到,则返回 0

完美解决 end。


http://www.kler.cn/a/518465.html

相关文章:

  • 探索Python GUI新选择:Flet库介绍与快速实践
  • Leetcode热题——移动零
  • [STM32 - 野火] - - - 固件库学习笔记 - - -十一.电源管理系统
  • ELK环境搭建
  • 在K8S中,如果后端NFS存储的IP发送变化如何解决?
  • 一个vue项目npm install失败的问题解决方案
  • 后端学习路线
  • Linux系统 C/C++编程基础——基于Qt的图形用户界面编程
  • +-*/运算符优先级计算模板
  • 数学大模型MAmmoTH:通过混合说明调整建立数学通才模型
  • 浏览器默认语言与页面访问统计问题二三则
  • 网络知识小科普--5
  • 题海拾贝:力扣 622.设计循环队列
  • 后端面试题分享第一弹(状态码、进程线程、TCPUDP)
  • Midscene.js:重新定义UI自动化的新时代工具
  • 新版IDEA创建数据库表
  • PCIE模式配置
  • Elasticsearch 性能测试工具 Loadgen 之 002——命令行及参数详解
  • web端ActiveMq测试工具
  • AI Agent的规划系统:让Agent更智能地完成任务