SQL链接一列的数据GROUP_CONCAT

SELECT group_concat(content separator '#'),wc,min(id) FROM `table` group by wc
SELECT 
    ugr.`userId`,GROUP_CONCAT(roleId,',')AS roles,groupId
  FROM
    pmp_user_group_role ugr 
  WHERE ugr.`groupId` = 'g000' 
    AND ugr.`roleId` != '0000' 
    AND ugr.`mark` = 0
    AND ugr.`userId` IS NOT NULL
    GROUP BY ugr.userId

mysql默认会以‘,’来分隔多的值,如果想用其他的分隔符来分隔返回结果,比如期望返回值是这样的:1|2|3|4这可以用SEPARATOR来搞定。

作为GROUP_CONCAT函数参数的字段,如过返回值为string,则上面的sql语句已经没有问题,但是如果是number,则返回的GROUP_CONCAT(volumn)值为BLOB类型,需要做一下转化。

select year,month GROUP_CONCAT(conv( oct( volumn ) , 8, 10 )) from magazine group by year,month order by year desc, month desc

 上面的sql对volumn做了一个从8进制到10进制的转换,这样返回的就是一个字符串了。

参考:http://javeye.iteye.com/blog/558093

你可能感兴趣的:(SQL链接一列的数据GROUP_CONCAT)