select g.id,g.name,g.weight,
sum(t.count) as total
from goods g
join trans t on g.id = t.goods_id

group by g.id
having total>=20
and g.weight<=50
order by g.id

注意是总购买个数超过20,