Mysql 記錄去重

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...

相關文章
相關標籤/搜索