詳解mysql中的concat相關函數(shù)
一、concat()函數(shù)
功能:將多個字符串連接成一個字符串
語法:concat(str1,str2,…) 其中的字符串既可以是數(shù)據(jù)表字段,也可以是指定的字符串
返回結果為連接參數(shù)產生的字符串,如果有任何一個參數(shù)為null,則該條記錄的返回值為null
二、concat_ws()函數(shù)
功能:和concat()一樣,將多個字符串連接成一個字符串,但是可以一次性指定分隔符(concat_ws就是concat with separator)
語法:concat_ws(separator,str1,str2,…)
說明:第一個參數(shù)指定分隔符,需要注意的是分隔符不能為null,如果為null,則所有返回結果均為null
三、group_concat()函數(shù)
先來看這么個需求:

其中user_id是用戶id,fee是消費金額,time是消費時間戳。
在consumption消費記錄表中,需要查找出每個用戶所有的消費金額明細。
很顯然,單一的group by已經不足以實現(xiàn)這個需求了:
select max(time),fee from consumption group by user_id
group by后的字段之間的關系是錯層的,我們只能單一的去篩選某個字段,而不能保證它們同屬于一條記錄。
這個時候就要用到group_concat()函數(shù)了:
select user_id,GROUP_CONCAT(time,':',fee) from consumption group by user_id
得到如下結果:

對結果進行數(shù)據(jù)處理,可以很容易地在頁面上展示我們想要的效果。
總結
以上所述是小編給大家介紹的mysql中的concat相關函數(shù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
相關文章
Mysql匿名登錄無法創(chuàng)建數(shù)據(jù)庫問題解決方案
這篇文章主要介紹了Mysql匿名登錄無法創(chuàng)建數(shù)據(jù)庫問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-12-12
MySQL主從配置及haproxy和keepalived搭建過程解析
這篇文章主要介紹了MySQL主從配置及haproxy和keepalived搭建,本次運行環(huán)境是在docker中,也會介紹一些docker的知識,需要的朋友可以參考下2022-05-05
mysql數(shù)據(jù)庫row_number函數(shù)舉例介紹
在MySQL中ROW_NUMBER()是一種用來生成行號的功能函數(shù),通常情況下它用于對查詢結果進行編號,以便方便地查看每行的位置,下面這篇文章主要給大家介紹了關于mysql數(shù)據(jù)庫row_number函數(shù)舉例介紹的相關資料,需要的朋友可以參考下2024-02-02

