任兵的博客

concat 和group_concat 和concat_ws应用

发布时间:9个月前热度: 28655 ℃评论数:

基础表

6.png



一、concat()函数

1、功能:将多个字符串连接成一个字符串。

2、语法:concat(str1, str2,...)

返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。



SELECT  concat(id,deviceid,name) as info from smj_device where deviceid=3234567890;


1.png


二、concat_ws()函数

1、功能:和concat()一样,将多个字符串连接成一个字符串,但是可以一次性指定分隔符~(concat_ws就是concat with separator)

2、语法:concat_ws(separator, str1, str2, ...)

说明:第一个参数指定分隔符。需要注意的是分隔符不能为null,如果为null,则返回结果为null。


SELECT  concat_ws(",",id,deviceid,name) as info from smj_device where deviceid=3234567890;


2.png


三、group_concat()函数

前言:在有group by的查询语句中,select指定的字段要么就包含在group by语句的后面,作为分组的依据,要么就包含在聚合函数中。(有关group by的知识请戳:浅析SQL中Group By的使用)。


语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )

说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。


select id,name ,group_concat(deviceid) from smj_device group by uid


3.png


如果 机器需要排序呢  且需要_ 分隔呢

select id,name ,group_concat(deviceid) from smj_device group by uid;

4.png


接下来我们继续

select id,name ,group_concat(concat_ws("_",id,name,deviceid) order by id desc) from smj_device group by uid


5.png

  ok到这里差不多 concat 三个函数 差不多都明了了

concat 和group_concat 和concat_ws应用

栏目导航

  1. Mysql

手机扫码访问