注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

早衰男的巢

大音希声 道隐无名

 
 
 

日志

 
 

MySQL: GROUP_CONCAT() 拼接 group 后的多行数据的字符串  

2017-02-14 17:02:15|  分类: others note. |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
之前研究 concat() 和 concat_ws() 发现都没法拼多行..原来这个函数被分类在文档的group函数部分,不在String分类下。
有了这个可以减少业务代码,不用把全部行取出来再遍历组装了。

备忘用法见下例

SELECT MPI.id,
GROUP_CONCAT(

IDX_MP.`product_id` 

ORDER BY IDX_MP.`index` ASC 

SEPARATOR ',') as `Product_ids`
FROM `tab_postitem` MPI
LEFT JOIN `tab_postitem_product` IDX_MP ON IDX_MP.`postitem_id` = MPI.`id`
WHERE MPI.`post_id` = {$mpid}
GROUP BY MPI.`id`
ORDER BY MPI.`index` ASC;


把索引表  tab_postitem_product.product_id 以 postitem_id group 了之后 以index字段排序 以 , 分隔拼接成字符串输出
+----+-------------+ | id | Product_ids | +----+-------------+ | 1 | 37,38,39 | | 2 | NULL | +----+-------------+ 2 rows in set (0.01 sec)


GROUP_CONCAT( 表达式 );
表达式,支持多字段,关键字支持 DISTINCT 、ORDER BY、SEPARATOR 
详见mysql手册.

  评论这张
 
阅读(29)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018