程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 帶您了解MySQL GROUP_CONCAT函數

帶您了解MySQL GROUP_CONCAT函數

編輯:MySQL綜合教程

MySQL GROUP_CONCAT函數是非常重要的函數,MySQL GROUP_CONCAT函數在MySQL 4.1 中被加入,下面就對該函數的語法進行詳細介紹。

MySQL GROUP_CONCAT(expr)
完整句法如下: GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] [,col ...]]
[SEPARATOR str_val])

MySQL GROUP_CONCAT函數在 MySQL 4.1 中被加入。函數返回一個字符串結果,該結果由分組中的值連接組合而成: 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 子句。為了以倒序排序,可以在 ORDER BY 子句中用於排序的列名後添加一個 DESC (遞減 descending) 關鍵詞
。缺省為升序;這也可以通過使用 ASC 關鍵詞明確指定。
SEPARATOR 是一個字符串值,它被用於插入到結果值中。缺省為一個逗號 (",")。
你可以通過指定 SEPARATOR "" 完全地移除這個分隔符。
在你的配置中,通過變量 group_concat_max_len 要以設置一個最大的長度。
在運行時執行的句法如下: SET [SESSION | GLOBAL] group_concat_max_len = unsigned_integer;

如果最大長度被設置,結果值被剪切到這個最大長度。
GROUP_CONCAT() 函數是一個增強的 Sybase SQL Anywhere 支持的基本 LIST() 函數。
如果只有一個列,並且沒有其它選項被指定,GROUP_CONCAT() 是向後兼容有極大限制的 LIST() 函數。
LIST() 有一個缺省的排序次序。

如果分組的字符過長,可以對系統參數進行設置

SET @@global.group_concat_max_len=40000;

SQL日期的相關函數介紹

帶您深入了解MYSQL Cast函數

帶您了解mysql CONCAT()函數

查看三種MySQL字符集的方法

修改mysql默認字符集的方法

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved