首页 > 数据库 >mysql 查询某字段中以逗号分隔的字符串的方法

mysql 查询某字段中以逗号分隔的字符串的方法

时间:2023-04-27 11:36:52浏览次数:45  
标签:中以 case 某字段 标签 label mysql 查询 id


mysql 查询某字段中以逗号分隔的字符串的方法


文章目录

  • mysql 查询某字段中以逗号分隔的字符串的方法
  • 前言
  • https://cdnvue.gymcity.com.cn/betterwe_1.0/userlogo/userlogopro62d8bf98afde709d37c08f7b129e96277388757530c72.png
  • 一、首先讲一个需求
  • 总结

前言

现在有如下场景。我们有一个案例表。每一个案例对应多个标签,一个标签对应一个案例。我们在前台做分页的时侯,需要对多个标签进行与匹配
表数据结构如下


一、首先讲一个需求

需要查出crowd_label_id 为 4,6,9的所有case_id 4,6,9为与条件

  1. 首先查询出对应case_id所有满足的标签 也就是行转列 使用GROUP_CONCAT函数
  2. 查询出来后我们就知道对应的case_id所有的标签。
  3. 剩下就是如果根据label_id去做匹配了。这时候我们可以用到mysql函数FIND_IN_SET来匹配字符串中是否存在指定的标签。当然这一步也可以放到程序中去做判断。

    结果上面完美匹配了label_id包含4,9的所有case_id

附上sql

SELECT * FROM (
SELECT case_id,GROUP_CONCAT(crowd_label_id) AS aa FROM weapp_case_label WHERE crowd_label_id IN (4,6,9) GROUP BY case_id
) AS aaa WHERE  FIND_IN_SET('4', aa) AND FIND_IN_SET('9', aa)

总结

这里主要的知识点是mysql的行转列,有多行数据如果拼成一列去展示出来。


标签:中以,case,某字段,标签,label,mysql,查询,id
From: https://blog.51cto.com/u_13444127/6230096

相关文章

  • 【linux】循序渐进学运维-MySQL-索引
    文章目录索引的概念索引概念1.索引的优点:2.索引的缺点:索引的类型:1普通索引2.唯一索引3.主键索引4.复合索引5.全文索引(FULLTEXTINDEX)索引设计原则面试题索引的概念索引概念索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的......
  • 【MySQL】linux平台下安装配置MySQL- rpm包的方式
    文章目录一.前言二.rpm包下载1)选择mysqlcommunityserver2)我们选择其他GA版本3)选择5.6的版本下载三.上传到服务器四.安装mysql五.启动mysql并检查是否启动六.查看登陆密码并登陆七.日志及配置文件目录总结:一.前言mysql的安装相对来说比较简单,在centos6的系统里使......
  • 【教程分享】一键部署MySQL,轻松搞定Docker安装和配置!
    1下载MySQL我们就可以到dockerhub来看:点击后的页面:直接执行dockerpullmysql,会下载最新版本的MySQL。点击tags,找到并下载经典的MySQL5.7:[root@service-monitoring~]#dockerpullmysql:5.7.42-oracle5.7.42-oracle:Pullingfromlibrary/mysqle83e8f2e82cc:Pull......
  • mysql已有数据表增加自增主键
    mysql:altertable`tbname`add`id`bigintnotnullauto_incrementfirst,addprimarykey(`id`);......
  • 利用xtcbackup做mysql的级联复制
    从库进行数据的xtcbackup备份innobackupex--defaults-file=/etc/my.cnf--user=backup--password=Admin123--stream=tar/backup_dir/tmp/|gzip>/backup_dir/tmp/mysql02_`hostname`_`date+%Y%m%d%H`.tar.gz备份完成后,将文件scp到灾备端。解压缩文件到/mysql/backup......
  • Centos 7安装MySQL5.6
    安装步骤  确保之前未安装;若存在则要卸载//查看主机是否已经安装了mysql(如果存在则要卸载)rpm-qa|grepmysql//卸载命令rpm-e--nodeps"上面检索出的mysql安装包"  下载mysql的yum源wget-P/usr/softwarehttp://repo.mysql.com/mysql-community-release-el6-5.no......
  • SpringBoot 集成 SpringSecurity + MySQL + JWT 附源码,废话不多直接盘
    SpringBoot集成SpringSecurity+MySQL+JWT无太多理论,直接盘一般用于Web管理系统可以先看SpringBootSpringSecurity基于内存的使用介绍本文介绍如何整合SpringSecurity+MySQL+JWT数据结构数据库脚本:https://gitee.com/VipSoft/VipBoot/blob/develop/vipsoft-sec......
  • MySQL主从复制详解
    主从复制原理+实操什么是MySQL主从复制?​MySQL主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或......
  • MySQL主从复制搭配SharingSphere踩大坑记录
    报错内容:Causedby:java.util.NoSuchElementException:Novaluebound点击查看原始错误代码ErrorstartingApplicationContext.Todisplaytheconditionsreportre-runyourapplicationwith'debug'enabled.2023-04-2616:34:48.270ERROR22584---[......
  • mysql基础练习(二)
    --创建表droptableifexistsemp;createtableemp(empnoint,enamevarchar(50),jobvarchar(50),mgrint,hiredatedate,saldecimal(7,2),commdecimal(7,2),deptnoint)engine=innodbdefaultcharset=utf8;droptableifexistsdept;createtabledept(d......