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;

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;