MySQL中GROUP_CONCAT的使用

如图1,须要获得字段【invoice_sn】的全部【delivery_notice_sn】在同一行显示,效果如图2

图1
图2

解决sql

select invoice_sn,group_concat(delivery_notice_sn separator ',') as delivery_notice_sn 
from tmp_wangff 
group by invoice_sn;
复制代码

官方解释:此函数返回一个字符串结果,其中包含组中链接的非空值。若是没有非空值,则返回空值。完整语法以下:

GROUP_CONCAT([DISTINCT] expr [,expr ...]
             [ORDER BY {unsigned_integer | col_name | expr}
                 [ASC | DESC] [,col_name ...]]
             [SEPARATOR str_val])
复制代码

特别提醒:group_concat默认长度为1024,超出1024的会被截断或乱码显示! sql

特别感谢:@Peanutsbash

相关文章
相关标签/搜索