MySQL中g(shù)roup_concat函數(shù)用法小結(jié)
一、group_concat函數(shù)的功能
將group by產(chǎn)生的同一個(gè)分組中的值連接起來,返回一個(gè)字符串結(jié)果。group_concat函數(shù)首先根據(jù)group by指定的列進(jìn)行分組,將同一組的列顯示出來,并且用分隔符分隔。由函數(shù)參數(shù)(字段名)決定要返回的列。例如:
create table emp( emp_id int primary key auto_increment comment '編號(hào)', 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,'財(cái)務(wù)部'),('王飛飛',5800,'財(cái)務(wù)部'),('趙剛',6200,'財(cái)務(wù)部'),('劉小貝',5700,'人事部'), ('王大鵬',6700,'人事部'),('張小斐',5200,'人事部'),('劉云云',7500,'銷售部'),('劉云鵬',7200,'銷售部'), ('劉云鵬',7800,'銷售部');
二、group_concat函數(shù)的語(yǔ)法
group_concat([distinct] 字段名 [order by 排序字段 asc/desc] [separator ‘分隔符’])
group_concat([distinct] 字段名 [order by 排序字段 asc/desc] [separator '分隔符'])
說明:
(1)使用distinct可以排除重復(fù)值;
(2)如果需要對(duì)結(jié)果中的值進(jìn)行排序,可以使用order by子句;
(3)separator是一個(gè)字符串值,默認(rèn)為逗號(hào)。
1.group_concat(emp_name):只指定了字段名,銷售部有兩個(gè)同名的也全部顯示出來,并且姓名的連接順序就是表中的記錄順序,連接的分隔符為逗號(hào),結(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)為逗號(hào),
添加了distinct參數(shù),則銷售部?jī)蓚€(gè)同名的員工只顯示一個(gè),結(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.分隔符修改為@符號(hào),結(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql之validate_password_policy的使用
這篇文章主要介紹了mysql之validate_password_policy的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05MySQL?數(shù)據(jù)庫(kù)整合攻略之表操作技巧與詳解
本文詳細(xì)介紹了MySQL數(shù)據(jù)庫(kù)中表的創(chuàng)建、查看、修改和刪除等操作技巧,感興趣的朋友一起看看吧2024-11-11windows server 2008 64位MySQL5.6免安裝版本配置方法圖解
這篇文章主要介紹了windows server 2008 64位MySQL5.6免安裝版本配置方法圖解,需要的朋友可以參考下2017-08-08MySQL表聚合與聯(lián)合查詢的實(shí)現(xiàn)
MySQL聚合與聯(lián)合查詢是數(shù)據(jù)庫(kù)查詢中常用的技術(shù),它們能夠從多個(gè)數(shù)據(jù)源中提取和組合數(shù)據(jù),以獲得有用的信息和結(jié)果,本文就來介紹下MySQL聚合與聯(lián)合查詢,感興趣的可以了解一下2023-10-10MySQL性能優(yōu)化 出題業(yè)務(wù)SQL優(yōu)化
根據(jù)用戶的作答結(jié)果出練習(xí)卷,題目的優(yōu)先級(jí)為:未做過的題目>只做錯(cuò)的題目>做錯(cuò)又做對(duì)的題目>只做對(duì)的題目。2010-08-08檢查mysql是否成功啟動(dòng)的方法(bat+bash)
這篇文章主要介紹了檢查mysql是否成功啟動(dòng)的方法(bat+bash),如果mysql沒有啟動(dòng)則開啟服務(wù),需要的朋友可以參考下2016-06-06