MySQL group by分組后如何將每組所得到的id拼接起來
MySQL group by分組后,將每組所得到的id拼接起來
背景
需要將商品表中的sku按照spu_id分組后,并且得到每個spu下的sku_id,需要使用到group_concat函數(shù)
select spu_id, count(*), group_concat(id SEPARATOR ', ') as ids from product_sku where category = 'tv' group by spu_id;
group_concat函數(shù)
group_concat函數(shù),實(shí)現(xiàn)分組查詢之后的數(shù)據(jù)進(jìn)行合并,并返回一個字符串結(jié)果,語法如下
group_concat( [distinct] 要連接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’]
1> 通過使用distinct可以排除重復(fù)值;
2> 可以使用order by子句對結(jié)果中的值進(jìn)行排序;
示例:
select spu_id, count(*), group_concat(id SEPARATOR ', ') as ids from product_sku where category = 'tv' group by spu_id;
注意有坑
???group_concat()??函數(shù)用于將多個字符串拼接成一個字符串。而MySql默認(rèn)的最大拼接長度為1024個字節(jié),一般情況下是夠用的,但如果數(shù)據(jù)量特別大,就會存在java層返回內(nèi)容被截斷的問題,這時,為了保證拼接數(shù)據(jù)的完整性,就需要手工修改配置文件的group_concat_max_len屬性值了。
MySQL group by having分組查詢時,如何將每組所有的id拼接起來
背景
系統(tǒng)升級,從舊的系統(tǒng)中把基礎(chǔ)地址數(shù)據(jù)割接到新的系統(tǒng)中,割接后需要核實(shí)是否存在一個用戶下有兩個默認(rèn)收貨地址的情況;
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;
示例運(yùn)行結(jié)果:
group_concat函數(shù)
group_concat函數(shù),實(shí)現(xiàn)分組查詢之后的數(shù)據(jù)進(jìn)行合并,并返回一個字符串結(jié)果。group_concat()
函數(shù)用于將多個字符串拼接成一個字符串。而MySql默認(rèn)的最大拼接長度為1024個字節(jié),一般情況下是夠用的,但如果數(shù)據(jù)量特別大,就會存在java層返回內(nèi)容被截斷的問題,這時,為了保證拼接數(shù)據(jù)的完整性,就需要手工修改配置文件的group_concat_max_len屬性值了。
1> 通過使用distinct可以排除重復(fù)值;
2> 可以使用order by子句對結(jié)果中的值進(jìn)行排序;
group_concat( [distinct] 要連接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符'] )
到此這篇關(guān)于MySQL group by分組后,將每組所得到的id拼接起來的文章就介紹到這了,更多相關(guān)mysql group by分組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL高效模糊搜索之內(nèi)置函數(shù)locate instr position find_in_set使用詳解
在MySQL中一般進(jìn)行模糊搜索都是使用LIKE配合通配符進(jìn)行查詢的,在性能上一定的影響,下面給大家分享MYSQL自帶的內(nèi)置模糊搜索函數(shù),除最后一個外其它三個性能上要比Like快些2018-09-09關(guān)于Mysql update修改多個字段and的語法問題詳析
這篇文章主要給大家介紹了關(guān)于mysql update修改多個字段and的語法問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12MySQL調(diào)優(yōu)之索引在什么情況下會失效詳解
索引的失效,會大大降低sql的執(zhí)行效率,日常中又有哪些常見的情況會導(dǎo)致索引失效?下面這篇文章主要給大家介紹了關(guān)于MySQL調(diào)優(yōu)之索引在什么情況下會失效的相關(guān)資料,需要的朋友可以參考下2022-10-10MySQL數(shù)據(jù)庫21條最佳性能優(yōu)化經(jīng)驗(yàn)
數(shù)據(jù)庫的操作越來越成為整個應(yīng)用的性能瓶頸了,這點(diǎn)對于Web應(yīng)用尤其明顯。這篇文章主要介紹了MySQL數(shù)據(jù)庫21條最佳性能優(yōu)化經(jīng)驗(yàn)的相關(guān)資料,需要的朋友可以參考下2016-10-10為什么MySQL選擇Repeatable Read作為默認(rèn)隔離級別
關(guān)于MySQL的事務(wù)隔離級別,相信很多讀者都不陌生,那么,你知道為什么Oracle選擇RC作為默認(rèn)級別,而MySQL要選擇RR作為默認(rèn)的隔離級別嗎2021-07-07clickhouse中Nullable與非空字段的建表與類型互轉(zhuǎn)方式
這篇文章主要介紹了clickhouse中Nullable與非空字段的建表與類型互轉(zhuǎn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12MySQL?原理與優(yōu)化之原數(shù)據(jù)鎖的應(yīng)用
這篇文章主要介紹了MySQL?原理與優(yōu)化之原數(shù)據(jù)鎖的應(yīng)用,MySQL?中原數(shù)據(jù)鎖是系統(tǒng)自動控制添加的,對于用戶來說無需顯示調(diào)用,當(dāng)我們使用一張表的時候就會加上原數(shù)據(jù)鎖2022-08-08percona-toolkit對MySQL的復(fù)制和監(jiān)控類操作教程
這篇文章主要介紹了使用percona-toolkit對MySQL進(jìn)行復(fù)制和監(jiān)控類操作的教程,percona-toolkit是一款強(qiáng)大的MySQL輔助軟件,需要的朋友可以參考下2015-11-11