mysql如何實(shí)現(xiàn)多行查詢結(jié)果合并成一行
更新時(shí)間:2013年12月25日 15:12:34 作者:
利用函數(shù):group_concat(),實(shí)現(xiàn)一個(gè)ID對應(yīng)多個(gè)名稱時(shí),原本為多行數(shù)據(jù),把名稱合并成一行
利用函數(shù):group_concat(),實(shí)現(xiàn)一個(gè)ID對應(yīng)多個(gè)名稱時(shí),原本為多行數(shù)據(jù),把名稱合并成一行。
其完整語法:
GROUP_CONCAT(expr)
該函數(shù)返回帶有來自一個(gè)組的連接的非NULL值的字符串結(jié)果。其完整的語法如下所示:
GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr}
[ASC | DESC] [,col_name ...]]
[SEPARATOR str_val])
mysql> SELECT student_name,
-> GROUP_CONCAT(test_score)
-> FROM student
-> GROUP BY student_name;
Or:
mysql> SELECT student_name,
-> GROUP_CONCAT(DISTINCT test_score
-> ORDER BY test_score DESC SEPARATOR ' ')
-> FROM student
-> GROUP BY student_name;
在MySQL中,你可以獲取表達(dá)式組合的連接值。你可以使用DISTINCT刪去重復(fù)值。假若你希望多結(jié)果值進(jìn)行排序,則應(yīng)該使用 ORDER BY子句。若要按相反順序排列,將 DESC (遞減) 關(guān)鍵詞添加到你要用ORDER BY 子句進(jìn)行排序的列名稱中。默認(rèn)順序?yàn)樯?;可使用ASC將其明確指定。 SEPARATOR 后面跟隨應(yīng)該被插入結(jié)果的值中間的字符串值。默認(rèn)為逗號(hào) (‘,')。通過指定SEPARATOR '' ,你可以刪除所有分隔符。
使用group_concat_max_len系統(tǒng)變量,你可以設(shè)置允許的最大長度。 程序中進(jìn)行這項(xiàng)操作的語法如下,其中 val 是一個(gè)無符號(hào)整數(shù):
SET [SESSION | GLOBAL] group_concat_max_len = val;
其完整語法:
GROUP_CONCAT(expr)
該函數(shù)返回帶有來自一個(gè)組的連接的非NULL值的字符串結(jié)果。其完整的語法如下所示:
GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr}
[ASC | DESC] [,col_name ...]]
[SEPARATOR str_val])
mysql> SELECT student_name,
-> GROUP_CONCAT(test_score)
-> FROM student
-> GROUP BY student_name;
Or:
mysql> SELECT student_name,
-> GROUP_CONCAT(DISTINCT test_score
-> ORDER BY test_score DESC SEPARATOR ' ')
-> FROM student
-> GROUP BY student_name;
在MySQL中,你可以獲取表達(dá)式組合的連接值。你可以使用DISTINCT刪去重復(fù)值。假若你希望多結(jié)果值進(jìn)行排序,則應(yīng)該使用 ORDER BY子句。若要按相反順序排列,將 DESC (遞減) 關(guān)鍵詞添加到你要用ORDER BY 子句進(jìn)行排序的列名稱中。默認(rèn)順序?yàn)樯?;可使用ASC將其明確指定。 SEPARATOR 后面跟隨應(yīng)該被插入結(jié)果的值中間的字符串值。默認(rèn)為逗號(hào) (‘,')。通過指定SEPARATOR '' ,你可以刪除所有分隔符。
使用group_concat_max_len系統(tǒng)變量,你可以設(shè)置允許的最大長度。 程序中進(jìn)行這項(xiàng)操作的語法如下,其中 val 是一個(gè)無符號(hào)整數(shù):
SET [SESSION | GLOBAL] group_concat_max_len = val;
相關(guān)文章
MySQL?varchar(n)能存儲(chǔ)幾個(gè)漢字
這篇文章主要介紹了MySQL varchar(n)能存儲(chǔ)幾個(gè)漢字,MySQL中varchar(n)表示n個(gè)字符,無論漢字和英文,Mysql都能存入n個(gè)字符,僅是實(shí)際字節(jié)長度有所區(qū)別,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05在sql中對兩列數(shù)據(jù)進(jìn)行運(yùn)算作為新的列操作
這篇文章主要介紹了在sql中對兩列數(shù)據(jù)進(jìn)行運(yùn)算作為新的列操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10Win10環(huán)境下安裝Mysql5.7.23問題及遇到的坑
這篇文章主要介紹了Win10環(huán)境下安裝Mysql5.7.23問題及遇到的坑,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11MYSQL5.6.33數(shù)據(jù)庫主從(Master/Slave)同步安裝與配置詳解(Master-Linux Slave-w
這篇文章主要為大家詳細(xì)介紹了MYSQL5.6.33數(shù)據(jù)庫主從(Master/Slave)同步安裝與配置,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06MySQL創(chuàng)建用戶和權(quán)限管理的方法
這篇文章主要介紹了MySQL創(chuàng)建用戶和權(quán)限管理的方法,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07mysql 如何插入隨機(jī)字符串?dāng)?shù)據(jù)的實(shí)現(xiàn)方法
這篇文章主要介紹了mysql 如何插入隨機(jī)字符串?dāng)?shù)據(jù)的實(shí)現(xiàn)方法,需要的朋友可以參考下2016-09-09完全卸載mysql(停止服務(wù)、卸載相關(guān)程序、刪除注冊表
本節(jié)主要介紹了完全卸載mysql的具體步驟包括停止服務(wù)、卸載相關(guān)程序、刪除注冊表等等2014-07-07