Como obtener el último registro de una categoría dada usando la función RANK

Posted on
  • viernes, 12 de noviembre de 2010
  • by
  • Román
  • in
  • Etiquetas: ,
  • 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