MySQL group by分组后如何将每组所得到的id拼接起来
MySQL group by分组后,将每组所得到的id拼接起来
背景
需要将商品表中的sku按照spu_id分组后,并且得到每个spu下的sku_id,需要使用到group_concat函数
select spu_id, count(*), group_concat(id SEPARATOR ', ') as ids from product_sku where category = 'tv' group by spu_id;
group_concat函数
group_concat函数,实现分组查询之后的数据进行合并,并返回一个字符串结果,语法如下
group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’]
1> 通过使用distinct可以排除重复值;
2> 可以使用order by子句对结果中的值进行排序;
示例:
select spu_id, count(*), group_concat(id SEPARATOR ', ') as ids from product_sku where category = 'tv' group by spu_id;
注意有坑
group_concat()函数用于将多个字符串拼接成一个字符串。而MySql默认的最大拼接长度为1024个字节,一般情况下是够用的,但如果数据量特别大,就会存在java层返回内容被截断的问题,这时,为了保证拼接数据的完整性,就需要手工修改配置文件的group_concat_max_len属性值了。
MySQL group by having分组查询时,如何将每组所有的id拼接起来
背景
系统升级,从旧的系统中把基础地址数据割接到新的系统中,割接后需要核实是否存在一个用户下有两个默认收货地址的情况;
SQL
select count(1), entity, group_concat(id SEPARATOR ', ') as ids from address where addressType = 'PERSON' and isDefault = 1 group by entity HAVING count(id) > 1;
示例运行结果:

group_concat函数
group_concat函数,实现分组查询之后的数据进行合并,并返回一个字符串结果。group_concat()函数用于将多个字符串拼接成一个字符串。而MySql默认的最大拼接长度为1024个字节,一般情况下是够用的,但如果数据量特别大,就会存在java层返回内容被截断的问题,这时,为了保证拼接数据的完整性,就需要手工修改配置文件的group_concat_max_len属性值了。
1> 通过使用distinct可以排除重复值;
2> 可以使用order by子句对结果中的值进行排序;
group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符'] )
到此这篇关于MySQL group by分组后,将每组所得到的id拼接起来的文章就介绍到这了,更多相关mysql group by分组内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
MySQL高效模糊搜索之内置函数locate instr position find_in_set使用详解
在MySQL中一般进行模糊搜索都是使用LIKE配合通配符进行查询的,在性能上一定的影响,下面给大家分享MYSQL自带的内置模糊搜索函数,除最后一个外其它三个性能上要比Like快些2018-09-09
关于Mysql update修改多个字段and的语法问题详析
这篇文章主要给大家介绍了关于mysql update修改多个字段and的语法问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-12-12
为什么MySQL选择Repeatable Read作为默认隔离级别
关于MySQL的事务隔离级别,相信很多读者都不陌生,那么,你知道为什么Oracle选择RC作为默认级别,而MySQL要选择RR作为默认的隔离级别吗2021-07-07
clickhouse中Nullable与非空字段的建表与类型互转方式
这篇文章主要介绍了clickhouse中Nullable与非空字段的建表与类型互转方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-12-12
percona-toolkit对MySQL的复制和监控类操作教程
这篇文章主要介绍了使用percona-toolkit对MySQL进行复制和监控类操作的教程,percona-toolkit是一款强大的MySQL辅助软件,需要的朋友可以参考下2015-11-11


最新评论