GROUP_CONCAT的正确使用

一:GROUP_CONCAT(distinct )

 

我在解决join连表查询时发现了一对多的问题,这时一个product_id对应一个tag_id,这个tag_id又对应一个title;下面就用到了

GROUP_CONCAT()的这个方法;对某个字段分组处理;处理之后数据是我想到的了;不对,这里面出现了一种情况,什么呢?

我需要的这个字段出现了重复的现象,why?我在排查的时候发现我在逻辑里面做了for循环处理,不怕!还是有解决办法的,GROUP_CONCAT(distinct tag.title) as tags,distinct就是这个,它是可以去重的;
Sql:
SELECT `prod`.*, `option`.`id` as `option_id`, `option`.`title` as `op_title`, `option`.`position` as `option_position`, `option`.`value`, `variant`.`id` as `veriant_id`, `variant`.`title` as `variant_title`, `variant`.`position` as `variant_position`, `variant`.`price` as `variant_price`, `variant`.`market_price` as `variant_market_price`, `variant`.`quantity` as `variant_quantity`, `variant`.`sku`, `variant`.`image_src`, `variant`.`option1`, `variant`.`option2`, `variant`.`option3`, CONVERT(variant.option1, DECIMAL(5, 1)) as option_sort, GROUP_CONCAT(distinct tag.title) as tags FROM `ci_product` as `prod` LEFT JOIN &#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值