select count(*) from (SELECT bg.GoodsID as gd1,bg.Minimum,bg.Maximum,ml.GoodsID as gd2 FROM Base_Goods bg right join Manage_Ledger ml on bg.GoodsID=ml.GoodsID group by bg.GoodsID,bg.Minimum,bg.Maximum,ml.GoodsID having sum(ml.Number)>bg.Maximum ) as result