I am having a table name batch_log whose structure is as below
batch_id    run_count   start_date  end_date
1           4           03/12/2014  03/12/2014
1           3           02/12/2014  02/12/2014
1           2           01/12/2014  01/12/2014
1           1           30/11/2014  30/11/2014
2           5           03/12/2014  03/12/2014
2           4           02/12/2014  02/12/2014
2           3           01/12/2014  01/12/2014
2           2           30/11/2014  30/11/2014
2           1           29/11/2014  29/11/2014
3           3           02/12/2014  02/12/2014
3           2           01/12/2014  01/12/2014
3           1           30/11/2014  30/11/2014
I need to fetch rows for all the batch_id with max run_count. result of the query should be :
batch_id    run_count   start_date  end_date
1           4           03/12/2014  03/12/2014
2           5           03/12/2014  03/12/2014
3           3           02/12/2014  02/12/2014
I tried many options using, group by batch_id and run_count but not able to get the correct result
select a.* from batch_log a,batch_log b 
where a.batch_id =b.batch_id
and a.run_count=b.run_count
and a.run_count in (select max(run_count) from batch_log
group by batch_id ) order by a.batch_id
Plese help
 
     
     
     
    