也就是一个子查询就可以搞定!
<select id="selecIns" parameterType="java.util.List" resultType="com.sn.cloud.sr.invinrecord.InvInRecords">
select h.warehouse,h.inventory,b.*
from sr_invinrecords h
left join (select count(1) as count,id from sr_invinrecords
where mainid in
<foreach collection="list" item="id" index="index" open="(" close=")" separator=",">
#{id}
</foreach>
GROUP BY warehouse,inventory) b on b.id = h.id
where h.mainid in
<foreach collection="list" item="id" index="index" open="(" close=")" separator=",">
#{id}
</foreach>
GROUP BY h.warehouse,h.inventory
</select>