詳解mysql中的concat相關函數(shù)
一、concat()函數(shù)
功能:將多個字符串連接成一個字符串
語法:concat(str1,str2,…)
其中的字符串既可以是數(shù)據(jù)表字段,也可以是指定的字符串
返回結果為連接參數(shù)產(chǎn)生的字符串,如果有任何一個參數(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已經(jīng)不足以實現(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ù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
MySQL Cluster如何創(chuàng)建磁盤表方法解讀
MySQL Cluster采用一系列的Disk Data objects來實現(xiàn)磁盤表;接下來為您詳細介紹2012-11-11Centos8安裝mysql8的詳細過程(免安裝版/或者二進制包方式安裝)
這篇文章主要介紹了Centos8安裝mysql8的詳細過程(免安裝版/或者二進制包方式安裝),使用二進制包方式安裝首先檢查服務器上是否安裝有mysql然后開始安裝配置,本文分步驟給大家講解的非常詳細,需要的朋友可以參考下2022-11-11解決Access denied for user root @&nbs
這篇文章給大家介紹了解決:Access denied for user ‘root‘@‘192.168.120.1‘ (using password: YES)的問題,文中通過圖文和代碼給大家分析的非常詳細,具有一定的參考價值,需要的朋友可以參考下2024-01-01MySQL中Like模糊查詢速度太慢該如何進行優(yōu)化
在業(yè)務場景中經(jīng)常會用到like模糊查詢,但是大家都知道,like是用不到索引的,所以當數(shù)據(jù)量非常大時,速度會非常慢,這篇文章主要給大家介紹了關于MySQL中Like模糊查詢速度太慢該如何進行優(yōu)化的相關資料,需要的朋友可以參考下2021-12-12