select * from table1 as t1 inner join (select ID, max(DATE) as date from table1 group by ID) as t2 on t1.ID = t2.ID and t1.DATE = t2.date and t1.ID in <foreach collection="list" item="id" index="index" open="(" close=")" separator=","> #{id} </foreach>