select goods.*,total
from (
    select goods_id,
        sum(count) as total
    from trans
    group by goods_id
    having sum(count)>20
) total_tb join goods on total_tb.goods_id=goods.id
where weight<50 
order by id;