SELECT * , group_concat(' ' , concat_ws( ' X ', `item_code` , `quantity_purchased` ) , if(`quantity_purchased`> 1, '****' , ' ') )
,group_concat('' , `order_item_id` , '')
,group_concat(distinct ' ' , `order_id` , ' ')
FROM ( select * from `1_sale_orders` where (`number`=80 OR `number`=79 ) AND `package_area`='SZ' order by `item_code`) T
WHERE (`number`=80 OR `number`=79 )
AND `package_area`='SZ'
AND 1<(SELECT count(*)
FROM `1_sale_orders`
WHERE (`number`=80 OR `number`=79 )
AND `recipient_name`=T.`recipient_name`
AND `ship_address_1`=T.`ship_address_1`
AND `package_area`=T.`package_area`)
GROUP BY `recipient_name` , `ship_address_1`,`package_area`,`number`
ORDER BY length(group_concat( ' ' , concat_ws( ' X ', `item_code` , `quantity_purchased` ) , ' ' )) DESC,
`item_code`,`quantity_purchased` DESC
我的语句中有个条件(`number`=80 or `number`=79)这个我单独查number=80或number=79和合并用or查结果不一样我单独查两个语句加起来才4条记录,合并查就有8条出来了
请问哪里有问题呢??
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货