MySQL函数之concat()


concat()函数

该函数可以将多个字符串连成一个字符串。
使用语法
concat(str1, str2, ...)
返回结果
参数拼接成的字符串,如果有任何一个参数为null,则返回值为null
例子

1.从person表查出数据,拼成字符串

2.加上分隔符,便于查看

如果有任何一个参数为null,则返回值为null

concat_ws()函数

该函数可以在concat()基础上一次性定义分隔符。
例子

如果把分隔符设为null,数据都会变成null

group_concat()函数

在有group by的查询语句中,select指定的字段要么就包含在group by语句的后面,作为分组的依据,要么就包含在聚合函数中。

1.根据name分组,查询对应的最小的id。

如果要查name相同的人中所有id呢?

有没有更直观的方法,既让每个名字都只出现一次,又能够显示所有的名字相同的人的id呢?此时可以使用group_concat()

将group by产生的同一个分组的值连接起来,返回一个字符串结果
语法:group_concat([distinct] 要连接的字段 [order by 排序字段 asc/desc] [])
说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。

1.使用group_concat()和group by显示相同名字的人的id号:

2.查询name对应的id号,从大到小,以“--”分割

3.查询以name分组的所有组id和age


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM