1:concat()函數
用法: concat(str1,str2,...)
功能:可以将多個字元串拼接在一起。
測試表資料:
實戰示範:(1)實戰功能将是三個字段合并在一起
(2)
2.concat_ws()函數
用法: concat_ws(separator,str1,str2,...)
功能:可以将多個字元串拼接在一起并中間用分隔符隔開。
功能示範:三個字段中間用'_'拼接在一起。
3.group_concat()
功能一:(1)根據主鍵的唯一性分組拼接,顯示列中可以包含非分組列(t.spzt,t.spfm)
如果按照相同列分組合并,則前面顯示列中一定不能出現非分組列字段 如下:
錯誤寫法:
提示錯誤資訊:
選擇清單不在GROUP BY子句中,并且包含未聚合的列“dsnl_new.t.id”,該列在功能上不依賴GROUP BY子句中的列
正确寫法:
功能二:将多行資料合并成一行
總結:
1.concat()和concat_ws()的差別是:concat()可以将任意字元串拼接在一起,字元串之間也可以用分隔符拼接;而concat_ws()函數提供了一種友善的方法是将字元串之間用間隔符分開,但是concat_ws()不能将指定字元串之間進行間隔拼接,但是實際工作中常用concat()函數就可以解決大部分問題了。
2.group_concat()函數 是将字元串分組拼接,如果在使用group by 注意如果分組列含有唯一列(比如主鍵)則前面顯示列中可以包含所有列
隻要分組中含所有唯一列這樣寫也可以
如果分組列中按照非唯一列分組,則前面顯示列中不能出現非分組列字段
如果不用group by可以将多行資料合并成一行