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