tres ultimos registros de cada producto

02/09/2005 - 20:42 por Patricio A. Garcia Madariaga | Informe spam
Hola grupo;

hay alguna forma de saber los ultimos registros ingresados
de cada elemento, me explico si tengo 100 productos y solo quiero saber los
3 registros ultimos ingresados de cada producto.


Gracias.

Patricio garcia
 

Leer las respuestas

#1 robertojdc
19/08/2011 - 19:35 | Informe spam
Alejandro Mesa escribió el 03/09/2005 16:31 :
Rene,

La sentencia que posteastes, nos da las ultimas tres filas ingresadas en la
tabla. Lo que patricio necesita son las ultimas tres filas por cada grupo.
Por ejemplo, usando la tabla [orders] de la bd [northwind], seleccionar los
[id] de las ultimas tres ordenes por cada [customerid].

use northwind
go

select
*
from
orders as a
where
(
select
count(*)
from
orders as b
where
b.customerid = a.customerid
and b.orderdate >= a.orderdate
) <= 3
order by
customerid
go

select
*
from
orders as a
where
(
select
count(*)
from
orders as b
where
b.customerid = a.customerid
and b.orderdate >= a.orderdate
) <= 3
order by
customerid

en caso que algun cliente tenga mas de tres ordenes en el ultimo dia,
entonces podemos usar la columna [orderid] que se incrementa monoliticamente.

select
*
from
orders as a
where
(
select
count(*)
from
orders as b
where
b.customerid = a.customerid
and b.orderid >= a.orderid
) <= 3
order by
customerid
go


AMB

"Rene Moreno" wrote:

Me faslto el sentido del ordenamiento

Select Top 3 * From MiTabla Order By columna_indicador_ingresp_reg DESC



"Rene Moreno" <jorge.moreno[NOSPAM]ARROBA.xpertal.com> wrote
in message
news:uctyx9$
> Suponiendo que tienes una columna de fecha o id para indicar en que
> momento ingreso el sregistro:
>
> Select Top 3 * From MiTabla Order By columna_indicador_ingresp_reg
>
> Saludos
> Rene Moreno
>
> "Patricio A. Garcia Madariaga"
wrote in message
> news:OBVtc3%
>> Hola grupo;
>>
>> hay alguna forma de saber los ultimos registros
ingresados
>> de cada elemento, me explico si tengo 100 productos y solo quiero
saber
>> los 3 registros ultimos ingresados de cada producto.
>>
>>
>> Gracias.
>>
>> Patricio garcia
>>
>
>




Hola me podran ayudar con esto yo quiero solo el ultimo registro de cada grupo solo que es una consulta con mas de una tabla
SELECT WR010130.WCID_I as [CI:], STATE AS [LINEA:], MOP1100.DATERECD as [ULTIMO:]
FROM ((MOP1100 MOP1100 RIGHT OUTER JOIN (
( IV40700 A
RIGHT OUTER JOIN WC010931 B ON A.LOCNCODE = B.WCID_I
)
INNER JOIN WR010130 WR010130 ON B.WCID_I=WR010130.WCID_I)
ON MOP1100.MANUFACTUREORDER_I = WR010130.MANUFACTUREORDER_I)
INNER JOIN WO010032 C ON WR010130.MANUFACTUREORDER_I = C.MANUFACTUREORDER_I
)
WHERE( SELECT COUNT(*) FROM ((MOP1100 X RIGHT OUTER JOIN (
( IV40700 A
RIGHT OUTER JOIN WC010931 B ON A.LOCNCODE = B.WCID_I
)
INNER JOIN WR010130 WR010130 ON B.WCID_I=WR010130.WCID_I)
ON MOP1100.MANUFACTUREORDER_I = WR010130.MANUFACTUREORDER_I)
INNER JOIN WO010032 C ON WR010130.MANUFACTUREORDER_I = C.MANUFACTUREORDER_I
)WHERE MOP1100.MOPRCTNM = X.MOPRCTNM and MOP1100.DATERECD >= X.DATERECD ) <= 1

Asi lo tengo pero no me da el resultado esperado

Preguntas similares