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ù),實現(xiàn)分組查詢之后的數(shù)據(jù)進行合并,并返回一個字符串結(jié)果,語法如下
group_concat( [distinct] 要連接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’]
1> 通過使用distinct可以排除重復(fù)值;
2> 可以使用order by子句對結(jié)果中的值進行排序;
示例:
select spu_id, count(*), group_concat(id SEPARATOR ', ') as ids from product_sku where category = 'tv' group by spu_id;
注意有坑
???group_concat()??函數(shù)用于將多個字符串拼接成一個字符串。而MySql默認的最大拼接長度為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)中,割接后需要核實是否存在一個用戶下有兩個默認收貨地址的情況;
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;
示例運行結(jié)果:

group_concat函數(shù)
group_concat函數(shù),實現(xiàn)分組查詢之后的數(shù)據(jù)進行合并,并返回一個字符串結(jié)果。group_concat()函數(shù)用于將多個字符串拼接成一個字符串。而MySql默認的最大拼接長度為1024個字節(jié),一般情況下是夠用的,但如果數(shù)據(jù)量特別大,就會存在java層返回內(nèi)容被截斷的問題,這時,為了保證拼接數(shù)據(jù)的完整性,就需要手工修改配置文件的group_concat_max_len屬性值了。
1> 通過使用distinct可以排除重復(fù)值;
2> 可以使用order by子句對結(jié)果中的值進行排序;
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 大表的count()優(yōu)化實現(xiàn)
這篇文章主要介紹了MySQL 大表的count()優(yōu)化實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
MySQL查詢性能優(yōu)化的7個常見查詢錯誤及解決方案
數(shù)據(jù)庫性能是Web應(yīng)用和大型軟件系統(tǒng)穩(wěn)定運行的關(guān)鍵,即使是精心設(shè)計的應(yīng)用,如果數(shù)據(jù)庫查詢效率低下,也會導(dǎo)致用戶體驗下降、系統(tǒng)資源浪費,甚至系統(tǒng)崩潰,本文將深入探討MySQL查詢優(yōu)化,分析常見的查詢錯誤,并提供提升數(shù)據(jù)庫性能的實用技巧,需要的朋友可以參考下2025-04-04
CentOS系統(tǒng)中安裝MySQL和開啟MySQL遠程訪問的方法
這篇文章主要介紹了CentOS系統(tǒng)中安裝MySQL和開啟MySQL遠程訪問的方法,包括MySQL的隨機啟動等操作的介紹,需要的朋友可以參考下2016-02-02
Mysql 5.6 "隱式轉(zhuǎn)換"導(dǎo)致的索引失效和數(shù)據(jù)不準確的問題
這篇文章主要介紹了Mysql 5.6 “隱式轉(zhuǎn)換”導(dǎo)致的索引失效和數(shù)據(jù)不準確的問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
MySQL創(chuàng)建用戶與授權(quán)及撤銷用戶權(quán)限方法
這篇文章主要介紹了MySQL創(chuàng)建用戶并授權(quán)及撤銷用戶權(quán)限、設(shè)置與更改用戶密碼、刪除用戶等等,需要的朋友可以參考下2014-08-08

