在mysql中提供了兩個字串的操作函式:concat,concat_ws.對於他們的介紹比較多,然而我們更多的需要使用到按列分組連線才能滿足我們的需求,這裡可以使用group_concat來實現。
group_concat(expr)
完整句法如下: group_concat([distinct] expr [,expr ...]
[order by [asc | desc] [,col ...]]
[separator str_val])
這個函式在 mysql 4.1 中被加入。函式返回乙個字串結果,該結果由分組中的值連線組合而成: mysql> select student_name,
-> group_concat(test_score)
-> from student
-> group by student_name;
ormysql> select student_name,
-> group_concat(distinct test_score
-> order by test_score desc separator " ")
-> from student
-> group by student_name;
如果最大長度被設定,結果值被剪下到這個最大長度。
group_concat() 函式是乙個增強的 sybase sql anywhere 支援的基本 list() 函式。
如果只有乙個列,並且沒有其它選項被指定,group_concat() 是向後相容有極大限制的 list() 函式。
list() 有乙個預設的排序次序。
如果分組的字元過長,可以對系統引數進行設定
set @@global.group_concat_max_len=40000;
MySql中增加一列
如果想在乙個已經建好的表中新增一列,可以用諸如 alter table table name add column new column name varchar 20 not null 這條語句會向已有的表中加入新的一列,這一列在表的最後一列位置。如果我們希望新增在指定的一列,可以用 alter ...
MySql中增加一列
如果想在乙個已經建好的表中新增一列,可以用諸如 alter table table name add column new column name varchar 20 not null 這條語句會向已有的表中加入新的一列,這一列在表的最後一列位置。如果我們希望新增在指定的一列,可以用 alter ...
MySql中增加一列
如果想在乙個已經建好的表中新增一列,可以用諸如 alter table table name add column new column name varchar 20 not null 這條語句會向已有的表中加入新的一列,這一列在表的最後一列位置。如果我們希望新增在指定的一列,可以用 alter ...