una ultimo ultima traer tabla seleccionar registro reciente por obtener mayor mas fecha con sql oracle

ultimo - SQL seleccionando filas por fecha más reciente



sql seleccionar registro mayor fecha (5)

Así que esto no es lo que el solicitante estaba pidiendo pero es la respuesta a "SQL seleccionando filas por fecha más reciente".

Modificado de http://wiki.lessthandot.com/index.php/Returning_The_Maximum_Value_For_A_Row

SELECT t.chargeId, t.chargeType, t.serviceMonth FROM( SELECT chargeId,MAX(serviceMonth) AS serviceMonth FROM invoice GROUP BY chargeId) x JOIN invoice t ON x.chargeId =t.chargeId AND x.serviceMonth = t.serviceMonth

Usando la siguiente consulta y resultados, estoy buscando la entrada más reciente donde ChargeId y ChargeType son únicos.

select chargeId, chargeType, serviceMonth from invoice CHARGEID CHARGETYPE SERVICEMONTH 1 101 R 8/1/2008 2 161 N 2/1/2008 3 101 R 2/1/2008 4 101 R 3/1/2008 5 101 R 4/1/2008 6 101 R 5/1/2008 7 101 R 6/1/2008 8 101 R 7/1/2008

Deseado:

CHARGEID CHARGETYPE SERVICEMONTH 1 101 R 8/1/2008 2 161 N 2/1/2008


Puede usar un GROUP BY para agrupar elementos por tipo e id. Luego puede usar la función de Agregado MAX () para obtener el mes de servicio más reciente. A continuación se muestra un conjunto de resultados con ChargeId, ChargeType y MostRecentServiceMonth

SELECT CHARGEID, CHARGETYPE, MAX(SERVICEMONTH) AS "MostRecentServiceMonth" FROM INVOICE GROUP BY CHARGEID, CHARGETYPE


Veo que la mayoría de los desarrolladores usan consultas en línea sin tener en cuenta su impacto en grandes cantidades de datos.

en simple puedes lograr esto de la siguiente manera:

select a.chargeId, a.chargeType, a.serviceMonth from invoice a left outer join invoice b on a.chargeId=b.chargeId and a.serviceMonth <b.serviceMonth where b.chargeId is null order by a.serviceMonth desc


SELECT chargeId, chargeType, MAX(serviceMonth) AS serviceMonth FROM invoice GROUP BY chargeId, chargeType


select to.chargeid,t0.po,i.chargetype from invoice i inner join (select chargeid,max(servicemonth)po from invoice group by chargeid)t0 on i.chargeid=t0.chargeid

La consulta anterior funcionará si la identificación de carga distinta tiene diferentes combinaciones de tipo de carga. Espero que esta simple consulta ayude con poco tiempo de rendimiento en consideración ...