select
    b.goods_id as id,
    a.name,
    a.weight,
    sum(count) as total
from
    trans b
    join goods a on a.id = b.goods_id
group by
    b.goods_id
having
    a.weight < 50
    and total > 20
order by
    b.goods_id asc