《Mysql必讀mysql如何實現多行查詢結果合并成一行》要點:
本文介紹了Mysql必讀mysql如何實現多行查詢結果合并成一行,希望對您有用。如果有疑問,可以聯系我們。
利用函數:group_concat(),實現一個ID對應多個名稱時,原本為多行數據,把名稱合并成一行.
其完整語法:
GROUP_CONCAT(expr)
該函數返回帶有來自一個組的連接的非NULL值的字符串結果.其完整的語法如下所示:
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中,你可以獲取表達式組合的連接值.你可以使用DISTINCT刪去重復值.假若你希望多結果值進行排序,則應該使用 ORDER BY子句.若要按相反順序排列,將 DESC (遞減) 關鍵詞添加到你要用ORDER BY 子句進行排序的列名稱中.默認順序為升序;可使用ASC將其明確指定. SEPARATOR 后面跟隨應該被插入結果的值中間的字符串值.默認為逗號 (‘,').通過指定SEPARATOR '' ,你可以刪除所有分隔符.
使用group_concat_max_len系統變量,你可以設置允許的最大長度. 程序中進行這項操作的語法如下,其中 val 是一個無符號整數:
SET [SESSION | GLOBAL] group_concat_max_len = val;
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/4061.html