Supongamos que queremos obtener el último producto vendido de cada categoría, la forma mas sencilla de realizar esto es utilizando la función RANK particionando por la categoría y ordenando por orden inverso por la fecha de venta, luego filtramos por el rango obtenido ( rank = 1) y ahi obtenemos el último de cada categoría.
SELECT *
FROM
(
SELECT top 100 categoria_id
, producto_id
, fechadeventa, Rank() over (Partition BY categoria_id ORDER BY fechadeventa DESC ) AS rango
FROM
productosvendidos
) rs WHERE rango = 1
Hugo Bernachea
Twitter: @bernachea
el.kyrios@yahoo.com
Read More...
SELECT *
FROM
(
SELECT top 100 categoria_id
, producto_id
, fechadeventa, Rank() over (Partition BY categoria_id ORDER BY fechadeventa DESC ) AS rango
FROM
productosvendidos
) rs WHERE rango = 1
Hugo Bernachea
Twitter: @bernachea
el.kyrios@yahoo.com