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