Pan*_*end 5 mysql concat 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
Run Code Online (Sandbox Code Playgroud)
这工作正常,但如果i_id为NULL,那么我当然会得到一个不必要的逗号.有没有更好的方法来做到这一点,所以如果i_id为NULL,我最终不会以逗号结尾?
Ome*_*esh 13
你需要使用CONCAT_WS来避免额外comma的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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16988 次 |
| 最近记录: |