mysql 字符串函数、分组函数

字符串函数

1、concat 函数

drop table test;
create table test(id int(4), name varchar(10), sex char(2));
insert into test values(1, 'Tom', '男');
select concat(id, name, sex) from test; //查询结果:1Tom男
select concat(id, '-', name, sex) from test; //查询结果:1-Tom男
update test set sex = null;
select concat(id, name, sex) from test; //结果为null, 有一个为null, 结果为null

2、concat_ws 函数

select concat_ws('-', id, name, sex) from test; //结果为1-Tom
第一个参数是其它参数的分隔符;即使有一个结果为null,其它的不为null,结果就不会为null

3、group_concat 函数

drop table test;
create table test (name varchar(10), id int(4));
insert into test values('天',1),('道',2),('酬',3),('勤',4);
insert into test values('天',1),('道',2),('酬',3),('勤',4);
select id, group_concat(name) from test group by id; // 默认逗号分隔
1 天,天
2 道,道
3 酬,酬
4 勤,勤
select id, group_concat(name, '_') from test group by id;
1 天_,天_
2 道_,道_
3 酬_,酬_
4 勤_,勤_
select id, group_concat(name separator'_') from test group by id;
1 天_天
2 道_道
3 酬_酬
4 勤_勤
select id, group_concat(distinct name order by name desc separator '_') from test group by id;
1 天
2 道
3 酬
4 勤


分组函数

 select cate_name as catename,count(cate_name) as count from `intl_order_goods` where order_id = 1 group by cate_name

执行结果:

原文地址:https://www.cnblogs.com/Mike_Chang/p/9308153.html