Seleccionando las n filas superiores dentro de un grupo por cláusula

Tengo un esquema similar al siguiente:

<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>

Me gustaría consultar la tabla y devolver las 5 filas más recientes por instrumento.

Puedo hacerlo instrumento por instrumento, con:

<code>select top 5 instrument, bar_dttm, bar_open, bar_close
from bar
where instrument = 'XXX'
order by bar_dttm desc
</code>

Me gustaría hacer esto para todos los instrumentos a la vez en una consulta. es posible? Estoy ejecutando SQL Server 2008.

Respuestas a la pregunta(3)

Su respuesta a la pregunta