千家信息网

MySql将记录中的某个字段进行合并

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,一 将单条记录中的某个字段合并: concat()假如对于user表,如下:idclassnameage11001zh1821001en1931002cs1841002jp19如果想将name 和ag
千家信息网最后更新 2025年01月23日MySql将记录中的某个字段进行合并

一 将单条记录中的某个字段合并: concat()
假如对于user表,如下:

idclassnameage
11001zh18
21001en19
31002cs18
41002jp19

如果想将name 和age 作为一个字段显示, 有:

select id, class, concat(name, ": ", age) as name_age from user;

结果:

idclassname_age
11001zh:18
21001en:19
31002cs: 18
41002jp: 19

二 将多条记录中的某些字段合并:group_coacat()
依然对上面user表, 若根据年级分组, 并将name和age全部合并在一列中显示, 有:

select class, group_concat(name, ":", age) as name_age from user group by class;

结果为:

classname_age
1001zh:18,en:19
1002cs:18,jp:19

使用group_coacat() 方法默认是以","进行分割, 如果希望以其他字符进行分割可使用"separator", 如:

select class, group_concat(name, ":", age separator ";") as name_age from user group by class;

结果为:

classname_age
1001zh:18;en:19
1002cs:18;jp:19
0