当遇到需要将多个字符串拼接在一起的情况,可以使用concat 、concat_ws函数
concat函数
concat函数需要一个或多个字符串参数,并将他们连接成一个字符串
concat()函数在连接之前将所有参数转换为字符串类型。如果任何参数为NULL,则concat()函数返回NULL值,如果是添加NULL值,则concat函数将会返回一个NULL值
select concat (id, name, age) as info from student #将id,name,age三个字段值进行连接
concat_ws函数
concat_ws使用指定的字符来连接两个字符
当且仅当作为分隔符的第一个参数为NULL时,CONCAT_WS函数才返回NULL
select concat_ws(':', id, name, age) as info from student #将id,name,age三个字段值进行连接,并且使用:分割
group_concat分组连接
group_concat 将group by产生的同一个分组中的值连接起来,返回一个字符串结果
GROUP_CONCAT([DISTINCT] column1 [ORDER BY column2 ASC\DESC] [SEPARATOR seq]);
通过使用distinct可以排除重复值;使用order by子句对结果中的值进行排序;separator是一个字符串值,缺省为一个逗号
select name, group_concat(id) order by id from student group by name
#按照name分组,然后将每个分组name的id值进行连接