Mysql 多行多列合并并排序(看到最后) GROUP_CONCAT()

项目需要合并列,想用Mybatis查出来,Java遍历整合。想了想太耗时,不如一条sql来的痛快。

多行多列合并排序:实现逻辑 ,先合并列,并排序,然后合并所有行。

group_concat()函数  就是为了将查询到的所有行的字段拼接起来【多行合并时使用到】

语法也简单易懂:group_concat(str1, str2,...) 

【语法和功能需要拿小本本记下来】

使用手册:

原始数据:

select sortId,datas from bs_product_data

Mysql 多行多列合并并排序(看到最后) GROUP_CONCAT()_第1张图片

使用了GROUP_CONCAT()后:

--group by按照什么东西排序,这是GROUP_CONCAT里的排序方法 行转列
select GROUP_CONCAT(sortId,datas) datas from bs_product_data group  by sortId

Mysql 多行多列合并并排序(看到最后) GROUP_CONCAT()_第2张图片

多行合并成一列后,所有列合并,继续使用GROUP_CONCAT():

--GROUP_CONCAT 不加group  by 将所有要整合的列合并
select GROUP_CONCAT(datas) datas from (
select GROUP_CONCAT(sortId,":",datas) datas from bs_product_data group  by sortId
) product

Mysql 多行多列合并并排序(看到最后) GROUP_CONCAT()_第3张图片

多行多列转换完成。【GROUP_CONCAT里面可以增加分隔符】

你可能感兴趣的:(mysql,mysql)