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

相關文章
相關標籤/搜索