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