MySQL GROUP_CONCAT多个字段

前端之家收集整理的这篇文章主要介绍了MySQL GROUP_CONCAT多个字段前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我可能没有大脑的时刻.

我想从数据库中的两个字段使用GROUP_CONCAT返回一系列数字.到目前为止,我已使用以下方法完成此操作:

SELECT t_id,CONCAT(GROUP_CONCAT(DISTINCT s_id),',IFNULL(GROUP_CONCAT(DISTINCT i_id),'')) AS all_ids
FROM mytable GROUP BY t_id

这工作正常,但如果i_id为NULL,那么我当然会得到一个不必要的逗号.有没有更好的方法来做到这一点,所以如果i_id为NULL,我最终不会以逗号结尾?

最佳答案
你需要使用CONCAT_WS来避免NULL值的额外逗号,试试这个:

SELECT t_id,CONCAT_WS(',GROUP_CONCAT(DISTINCT s_id),GROUP_CONCAT(DISTINCT i_id)) AS all_ids
FROM mytable
GROUP BY t_id;

猜你在找的MySQL相关文章