Selecionando as n primeiras linhas dentro de um grupo por cláusula
Eu tenho esquema semelhante ao seguinte:
<code>create table bar ( instrument varchar(255) not null, bar_dttm datetime not null, bar_open int not null, bar_close int not null ) </code>
Gostaria de consultar a tabela e retornar as 5 linhas mais recentes por instrumento.
Eu posso fazer isso instrumento por instrumento, com:
<code>select top 5 instrument, bar_dttm, bar_open, bar_close from bar where instrument = 'XXX' order by bar_dttm desc </code>
Eu gostaria de fazer isso para todos os instrumentos de uma só vez em uma consulta. Isso é possível? Estou executando o SQL Server 2008.