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)為逗號 (‘,')。通過指定SEPARATOR '' ,你可以刪除所有分隔符。
使用group_concat_max_len系統(tǒng)變量,你可以設(shè)置允許的最大長度。 程序中進(jìn)行這項(xiàng)操作的語法如下,其中 val 是一個(gè)無符號整數(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)為逗號 (‘,')。通過指定SEPARATOR '' ,你可以刪除所有分隔符。
使用group_concat_max_len系統(tǒng)變量,你可以設(shè)置允許的最大長度。 程序中進(jìn)行這項(xiàng)操作的語法如下,其中 val 是一個(gè)無符號整數(shù):
SET [SESSION | GLOBAL] group_concat_max_len = val;
相關(guān)文章
Mysql中使用count加條件統(tǒng)計(jì)的實(shí)現(xiàn)示例
本文主要介紹了Mysql中使用count加條件統(tǒng)計(jì)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
mysql 5.7.17 以及workbench安裝配置圖文教程
這篇文章主要為大家詳細(xì)介紹了mysql 5.7.17 以及workbench安裝配置圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
mysql基礎(chǔ):mysqld_safe 啟動(dòng)執(zhí)行流程詳解
本篇文章是對mysql基礎(chǔ)中的mysqld_safe啟動(dòng)執(zhí)行流程進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
MySQL千萬級數(shù)據(jù)的大表優(yōu)化解決方案
mysql數(shù)據(jù)庫中的表數(shù)據(jù)量幾千萬后,查詢速度會很慢,日常各種卡慢,嚴(yán)重影響使用體驗(yàn)。在考慮升級數(shù)據(jù)庫或者換用大數(shù)據(jù)解決方案前,必須優(yōu)化現(xiàn)有mysql數(shù)據(jù)庫表設(shè)計(jì)和sql語句。2022-11-11
MySQL使用MD5加密算法進(jìn)行數(shù)據(jù)加密功能
在現(xiàn)代的數(shù)據(jù)庫應(yīng)用中,數(shù)據(jù)的安全性和隱私性變得尤為重要,MySQL作為最流行的關(guān)系型數(shù)據(jù)庫之一,提供了多種加密功能,允許用戶對數(shù)據(jù)進(jìn)行加密和解密操作,在這篇文章中,我們將深入探討MySQL的加密功能,并重點(diǎn)介紹如何使用MD5加密算法進(jìn)行加密,需要的朋友可以參考下2024-12-12

