本帖最后由 zhuhao 于 2013-02-20 19:17:52 编辑

解决方案 »

  1.   

    select number,recipient-name,
    group_concat(sku,' X ',quantity-purchased,if(purchased>1,'*****',''))
    from 原始数据
    group by recipient
      

  2.   

    ACMAIN_CHM大大你语句只汇总没有条件查询吧??number=1 , 相同recipient-name出现超过1次或者quantity-purchased>1
      

  3.   

    select recipient-name,group_concat(concat(sku,'X',(case when quantity-purchased>1  then concat('quantity-purchased>','****') else quantity-purchased end)))
    from tb
    group by recipient-name
    having count(*)>1
    union all
    select concat(sku,'X',quantity-purchased,'********')
    from tb
    where quantity-purchased>1
      

  4.   

    SELECT * , group_concat('  ' , concat_ws( ' X ', `sku` , `quantity-purchased` ) , if(`quantity-purchased`> 1, '****' , '  ') ),group_concat('  ' , `order_id` , '  ') FROM ( select * from `sale_orders` order by `sku`) T WHERE `shipments` =0 AND `number` =$id GROUP BY `recipient-name` , `ship-address-1` ORDER BY length(group_concat( ' ' , concat_ws( ' X ', `sku` , `quantity-purchased` ) , ' ' )) DESC,`sku`以上是我原来汇总,请问怎么在这个基础上加上那些判断条件
      

  5.   

    select number,recipient-name,
    group_concat(sku,' X ',quantity-purchased,if(purchased>1,'*****',''))
    from 原始数据 t
    where Number=1 
    and 
    (quantity-purchased>1
     or
     exists 1<(select count(*) from 原始数据 where recipient-name=t.recipient-name)
    )
    group by recipient
      

  6.   

    利于理解的话,请使用union连接二者。
    知识点:
    group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])