一: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 &#