我可能正处于无脑时刻。
我想使用 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 http://dev.mysql.com/doc/refman/5.5/en/string-functions.html以避免额外的comma
for 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;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)