SELECT * , group_concat( '  ' , concat_ws( ' X ', `sku` , `quantity-purchased` ) , '  ' ),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`请问我想在这个语句的基础上算sku(物料编码),quantity-purchased(数量)的总合,两个字段我都要分别统计出来

解决方案 »

  1.   

    sku(物料编码)统计的是个数,多少条记录就有多少个(物料编码)
    quantity-purchased(数量)统计的是所有记录的总和。
      

  2.   

    原表格
    recipient-name  order_id     SKU      quantity-purchased
     大明  001-001     AA001           2
     小芳  002-002     AA001           3
     大明  003-003     AA002           5
     小刘  004-004     AA002           1
     小芳  005-005     AA003           2
     王刚  006-006     AA004           1目前生成的表格
     recipient-name      group_concat( ' ' , concat_ws( ' X ', `sku` , `quantity-purchased` ) , ' ' )   group_concat(' ' , `order_id` , ' ')大明   AA001 X 2,AA002 X 3    001-001 , 003-003 
    小芳   AA001 X 3,AA003 X 2   002-002 , 005-005
    小刘   AA002 X 1  004-004
    王刚   AA004 X 1  006-006查询出来的这些数据我都是要写入txt文件里面的,我就是想在最后一行加一个统计数据,SKU共有多少个,order_id共有多少个,数量共有多少个
      

  3.   

    你在
    得出这个结果的SQL语句后边 
    UNOIN 
    求几个值的count结果的SQL语句 
    不行吗?
      

  4.   

    把你的两个语句UNION在一起就行了。
      

  5.   

    SELECT ... FROM ... WHERE ...  这个得出查询结果的SQL语句  
    UNION                          这地方加UNION连接求和的SQL语句
    SELECT SUM() FROM ...WHERE ... 这是求和的SQL语句 
    按照上面这个格式去写应该就可以了