select s.goods_id, goods.name, goods.weight, total from (select goods_id, sum(count) total from trans group by goods_id having sum(count)>20) s left join goods on s.goods_id=goods.id where goods.weight<50 order by s.goods_id
select s.goods_id, goods.name, goods.weight, total from (select goods_id, sum(count) total from trans group by goods_id having sum(count)>20) s left join goods on s.goods_id=goods.id where goods.weight<50 order by s.goods_id