1、concat()函數函數
一、功能:將多個字符串鏈接成一個字符串。測試
二、語法:concat(str1, str2,...)排序
返回結果爲鏈接參數產生的字符串,若是有任何一個參數爲null,則返回值爲null字符串
2、concat_ws()函數it
一、功能:和concat()同樣,將多個字符串鏈接成一個字符串,可是能夠一次性指定分隔符~(concat_ws就是concat with separator)語法
二、語法:concat_ws(separator, str1, str2, ...)di
說明:第一個參數指定分隔符。須要注意的是分隔符不能爲null,若是爲null,則返回結果爲null。co
3、group_concat()字符
一、功能:將group by產生的同一個分組中的值鏈接起來,返回一個字符串結果。去重
二、語法:group_concat( [distinct] 要鏈接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )
說明:經過使用distinct能夠排除重複值;若是但願對結果中的值進行排序,可使用order by子句;separator是一個字符串值,缺省爲一個逗號。
去重:
1.使用 DISTINCT 字段1,字段2,能夠對字段1和字段2聯合去重
2.使用 group_concat (DISTINCT 字段1,字段2...),至關於先concat(),而後再group,即把每個分組獲得的記錄的中間過程使用concat()組合起來,通過測試,,group_concat(字段1,字段2...)和group_concat(concat(字段1,字段2...))結果是一致的, group_concat (DISTINCT 字段1,字段2...)和group_concat(DISTINCT concat(字段1,字段2...))是同樣的
3.使用concat和DISTINCT去重會報錯,例如:concat (DISTINCT 字段1,字段2...),能夠反過來,使用DISTINCT concat...