用SQL将查询出来的多列的值拼接成一个字符串

用SQL将查询出来的多列的值拼接成一个字符串,第1张

线上最近遇见一个场景,需要将查询结果逗号多列拼接成一列。正好借机复习下group——concat()()的用法。

使用方法:

1.  如果需要对结果中的值排序,可以使用order by

2.  separator默认逗号,可选使用自定义符号;

3.  distinct可对结果去重;

举例说明:

student表,根据type分组,对name进行拼接,sql:select GROUP_CONCAT(name) from student group by type,结果如下:

1. 列拼接:

1.1 oracle、mysql: 用concat函数,比如concat(a,' ',b,' ','c)

1.2 sqlserver: 用加号,比如select a + " " + b + " " + c from 表

1.3 也可以用数据库外的程序处理

2.

2.1 最后多了一个union(select * from email后面)

2.2 要保证几个表(name,dizhi,email)的列是一样的(数量、类型)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6781229.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存