MySQL中g(shù)roup_concat函數(shù)用法小結(jié)
一、group_concat函數(shù)的功能
將group by產(chǎn)生的同一個分組中的值連接起來,返回一個字符串結(jié)果。group_concat函數(shù)首先根據(jù)group by指定的列進(jìn)行分組,將同一組的列顯示出來,并且用分隔符分隔。由函數(shù)參數(shù)(字段名)決定要返回的列。例如:
create table emp( emp_id int primary key auto_increment comment '編號', emp_name char(20) not null default '' comment '姓名', salary decimal(10,2) not null default 0 comment '工資', department char(20) not null default '' comment '部門' ); insert into emp(emp_name,salary,department) values('張晶晶',5000,'財務(wù)部'),('王飛飛',5800,'財務(wù)部'),('趙剛',6200,'財務(wù)部'),('劉小貝',5700,'人事部'), ('王大鵬',6700,'人事部'),('張小斐',5200,'人事部'),('劉云云',7500,'銷售部'),('劉云鵬',7200,'銷售部'), ('劉云鵬',7800,'銷售部');
二、group_concat函數(shù)的語法
group_concat([distinct] 字段名 [order by 排序字段 asc/desc] [separator ‘分隔符’])
group_concat([distinct] 字段名 [order by 排序字段 asc/desc] [separator '分隔符'])
說明:
(1)使用distinct可以排除重復(fù)值;
(2)如果需要對結(jié)果中的值進(jìn)行排序,可以使用order by子句;
(3)separator是一個字符串值,默認(rèn)為逗號。
1.group_concat(emp_name):只指定了字段名,銷售部有兩個同名的也全部顯示出來,并且姓名的連接順序就是表中的記錄順序,連接的分隔符為逗號,結(jié)果如下:
select department,group_concat(emp_name) from emp group by department;
select department,group_concat(emp_name SEPARATOR ',') as e_name from emp group by department;
參數(shù)解釋:
- emp_name:要合并的列名。
- SEPARATOR:可選參數(shù),用于指定合并結(jié)果中值之間的分隔符,默認(rèn)為逗號,
添加了distinct參數(shù),則銷售部兩個同名的員工只顯示一個,結(jié)果如下:
select department,group_concat(distinct emp_name) from emp group by department;
4. 添加了order by參數(shù),表中的記錄按salary降序排列,然后再把姓名連接起來,結(jié)果如下:
select department,group_concat(distinct emp_name order by salary desc) from emp group by department;
5.分隔符修改為@符號,結(jié)果如下:
select department,group_concat(distinct emp_name order by salary desc separator '@') from emp group by department;
到此這篇關(guān)于MySQL中g(shù)roup_concat函數(shù)用法小結(jié)的文章就介紹到這了,更多相關(guān)MySQL group_concat函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql之validate_password_policy的使用
這篇文章主要介紹了mysql之validate_password_policy的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05MySQL?數(shù)據(jù)庫整合攻略之表操作技巧與詳解
本文詳細(xì)介紹了MySQL數(shù)據(jù)庫中表的創(chuàng)建、查看、修改和刪除等操作技巧,感興趣的朋友一起看看吧2024-11-11windows server 2008 64位MySQL5.6免安裝版本配置方法圖解
這篇文章主要介紹了windows server 2008 64位MySQL5.6免安裝版本配置方法圖解,需要的朋友可以參考下2017-08-08MySQL性能優(yōu)化 出題業(yè)務(wù)SQL優(yōu)化
根據(jù)用戶的作答結(jié)果出練習(xí)卷,題目的優(yōu)先級為:未做過的題目>只做錯的題目>做錯又做對的題目>只做對的題目。2010-08-08