Consecutivo por grupo

24/04/2008 - 23:15 por Miguel Soto | Informe spam
Buenas tardes,

Quisiera saber si alguien en una instruccion Select ha hecho que en una
columna se genere un consecutivo por un grupo de valores, y para el grupo de
valores siguiente empiece otra vez en 1 y asi sucesivamente...espero haberme
explicado.

Saludos.

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
25/04/2008 - 01:04 | Informe spam
Miguel Soto,

Si estas usando SQL Server 2005, entonces chequea la clausula OVER en los
libros en linea.

use northwind
go

select
customerid,
orderdate,
orderid,
row_number() over(partition by customerid order by orderdate, orderid)
as rn
from
dbo.orders
order by
customerid,
orderdate,
orderid
go

Para versiones anteriores es un poco mas complicado y lento.

select
customerid,
orderdate,
orderid,
(
select
count(*)
from
dbo.orders as b
where
b.customerid = a.customerid
and
(
b.orderdate < a.orderdate
or
(b.orderdate = a.orderdate and b.orderid <= a.orderid)
)
) as rn
from
dbo.orders as a
order by
customerid,
orderdate,
orderid
go


AMB


"Miguel Soto" wrote:

Buenas tardes,

Quisiera saber si alguien en una instruccion Select ha hecho que en una
columna se genere un consecutivo por un grupo de valores, y para el grupo de
valores siguiente empiece otra vez en 1 y asi sucesivamente...espero haberme
explicado.

Saludos.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida