程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql若何完成多行查詢成果歸並成一行

mysql若何完成多行查詢成果歸並成一行

編輯: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;
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved