getting top 2 rows in each group without row number in sql : i am looking a simple code to get result of 2 rows with latest invoice date in each group . Although this task can be accomplished by a ror_number that you can see in below code , but i need alternative of this with minimum complexity. 

Code :-

create table #tt
(
	id int,
	invoiceDT datetime
)


insert into #tt
values(1,'01-01-2016 00:12'),(1,'01-02-2016 06:16'),(1,'01-01-2016 00:16')
	,(2,'01-01-2016 01:12'),(2,'04-02-2016 06:16'),(2,'01-06-2016 00:16')
	
	

select *
from (
SELECT id,invoiceDT,row_number() over(partition by id order by invoiceDT desc) as rownum
FROM #tt
)tmp
where rownum <=2

I need same result that is returned by above query

Please suggest alternative.