mysql列转行函数是什么

文 / @WordPress主题

MySQL列转行函数指的是将一列的数据转换成行的形式,可以使用MySQL函数group_concat()来实现。本教程操作环境为Windows10系统、MySQL8.0.22版本和DellG3电脑。

下面以一个商品分类为例,一个商品可以属于多个分类,需要将这个商品在一条数据中展示所有分类。通过MySQL函数group_concat()即可实现。

首先创建一个测试表test_mysql_liezhuanhang,表结构包括id、name和age三个字段,其中id为主键。

CREATE TABLE test.test_mysql_liezhuanhang (
id bigint auto_increment comment '主键',
name varchar(100),
age int(5),
primary key(id)
) engine=innodb default charset=utf8mb4 comment='测试表';

然后插入测试数据,包括姓名和年龄。

INSERT INTO test.test_mysql_liezhuanhang (name, age) VALUES
('李威', 18),
('李威', 19),
('李威', 18),
('李白', 20),
('李白', 20),
('李白', 19);

接着使用group_concat()函数来展示所有的姓名,以分号分割,默认以逗号分割。

SELECT group_concat(name separator ';') AS concat
FROM test.test_mysql_liezhuanhang;

使用group_concat()函数来展示所有的姓名,并将相同姓名去重。

SELECT group_concat(distinct name) AS concat
FROM test.test_mysql_liezhuanhang;

使用group_concat()函数来展示所有的年龄,并将相同年龄去重并以年龄升序排序。

SELECT group_concat(distinct age order by age) AS concat
FROM test.test_mysql_liezhuanhang;

如果想深入了解MySQL的语法和使用,可以推荐学习MySQL视频教程。

综上所述,MySQL列转行函数是通过group_concat()函数来实现的。它可以将一列的数据转换成行的形式,非常实用。通过本教程的实例演示,相信读者已经对MySQL列转行函数有了更深入的了解。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。