首页 > 数据库 >mysql中将一行数据根据条件分拆多行

mysql中将一行数据根据条件分拆多行

时间:2024-10-23 16:24:33浏览次数:1  
标签:多行 name tags items Item1 tag 分拆 mysql id

以下用法只支持mysql8.0以上;

遇到了个数据结构,字符串用逗号隔开的,需要分拆后统计数据,用到了mysql8的一个JSON_TABLE用法

CREATE TABLE items (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255),
    tags VARCHAR(255)
);

INSERT INTO items (name, tags) VALUES ('Item1', 'tag1,tag2,tag3');
INSERT INTO items (name, tags) VALUES ('Item2', 'tag4,tag5');

SELECT i.id, i.name, jt.tag FROM items i, JSON_TABLE( CONCAT('["', REPLACE(i.tags, ',', '","'), '"]'), '$[*]' COLUMNS (tag VARCHAR(255) PATH '$') ) jt ORDER BY i.id, jt.tag;

  输出结构如下:

+----+-------+------+
| id | name  | tag  |
+----+-------+------+
|  1 | Item1 | tag1 |
|  1 | Item1 | tag2 |
|  1 | Item1 | tag3 |
|  2 | Item2 | tag4 |
|  2 | Item2 | tag5 |
+----+-------+------+

标签:多行,name,tags,items,Item1,tag,分拆,mysql,id
From: https://www.cnblogs.com/kevinZhu/p/18496668

相关文章

  • kubesphere搭建nacos2.2.3(MySQL)
    环境准备创建nacos数据库,sql来自于nacos官网,自行查找并执行启动环境配置如图具体配置如下具体含义请参考nacos官网#***************SpringBootRelatedConfigurations***************####Defaultwebcontextpath:server.servlet.contextPath=/nacos###Inc......
  • 高效集成:旺店通旗舰版与MySQL的数据对接方案
    旺店通旗舰版-其他入库单-->BI泰海-其他入库单表_原始查询(2024年起)数据集成方案在现代企业的数据管理中,如何高效、可靠地实现系统间的数据对接是一个关键挑战。本文将分享一个具体的技术案例,展示如何通过轻易云数据集成平台,将旺店通·旗舰奇门的数据无缝集成到MySQL数据库中。......
  • MySQL 回收表碎片实践教程
    前言:在MySQL数据库中,随着数据的增删改操作,表空间可能会出现碎片化,这不仅会占用额外的存储空间,还可能降低表的扫描效率,特别是一些大表,在进行数据清理后会产生大量的碎片。本篇文章我们一起来学习下如何进行碎片回收以及相关注意点。查看表碎片大小一般MySQL数据库都是开启i......
  • docker安装mysql
    本次分享docker安装mysql,没有废话,绝对全网最简单首先你需要已经安装过docker,在这里默认已安装过docker。安装mysql命令:dockerrun--namemysql-p3306:3306-eMYSQL_ROOT_PASSWORD=123456-dmysql:5.7--lower_case_table_names=1其中密码和mysql版本可自己改然后......
  • 一文彻底搞定Redis与MySQL的数据同步
    Redis和MySQL一致性问题是企业级应用中常见的挑战之一,特别是在高并发、高可用的场景下。由于Redis是内存型数据库,具备极高的读写速度,而MySQL作为持久化数据库,通常用于数据的可靠存储,如何保证两者数据的一致性需要具体业务场景的设计与优化。下面我们将结合几个典型的业务......
  • linux 一键部署mysql 8.4.2 绿色版
    亲测有效vimdeploy_mysql.sh#!/bin/bash#mysql安装目录是${wget_path}/${mysql_dir}#修改mysql的登录密码updatePassword="sykj@2024"wget_path="/data"mysql_dir="mysql"#.tar.xz文件mysql_dowmload_path="https://downloads.mysql.com/......
  • MySQL根据.idb数据恢复脚本,做成了EXE可执行文件
    文章目录1.代码2.Main方法打包3.Jar包打成exe可执行文件4.使用(1.)准备一个表结构一样得数据库(2.)打开软件(3.)输入路径5.恢复成功本文档只是为了留档方便以后工作运维,或者给同事分享文档内容比较简陋命令也不是特别全,不适合小白观看,如有不懂可以私信,上班期间都是在得......
  • 高效同步MySQL数据的实战案例:唯品配货通知单明细表
    MySQL数据集成案例分享:13--BI秉心-唯品配货通知单明细表--vipdispatchorderdetail_z-->vipdispatchorderdetail在数据驱动的业务环境中,如何高效、可靠地实现数据的集成和同步是每个企业面临的重要挑战。本文将聚焦于一个具体的系统对接集成案例,展示如何通过轻易云数据集成平台,将......
  • MYSQL字符串中根据符号匹配固定字符
    如果您有一个字段存储的是多个值,例如分号分隔的字符串,而您仍然需要进行精准匹配,可以使用FIND_IN_SET函数,但需要注意FIND_IN_SET是基于逗号分隔的字符串。如果您的字段是分号分隔的,可以先将其转换为逗号分隔的字符串。假设users表的roles字段存储的是分号分隔的字符串 ......
  • Django+MySQL接口开发完全指南
    前言本文将详细介绍如何使用Django结合MySQL数据库开发RESTfulAPI接口。我们将从环境搭建开始,一步步实现一个完整的接口项目。环境准备首先需要安装以下组件:Python3.8+Django4.2MySQL8.0mysqlclientdjangorestframework安装命令#创建虚拟环境python-mvenvvenvs......