Oracle
 sql >> Database >  >> RDS >> Oracle

Rimuovere le coppie di inversione utilizzando SQL

Si scopre che stavo guardando il problema in un modo piuttosto terribile. Invece di trovare l'esatto coppia di inversione, ho appena fatto un SUM con un GROUP BY, quindi sono rimasti solo i valori che tenevo a mantenere.

Il risultato finale è che le transazioni risulteranno distinte, soprattutto se, come nel mio caso, la tabella delle transazioni reali è in realtà un valore datetime anziché date.

SELECT SUM(QTY) AS newQTY, DATE, FUEL_TYPE
FROM fuel_transactions
GROUP BY DATE, FUEL_TYPE

L'unica volta in cui questo non produrrà i valori che desideri veramente è se hai la necessità di mantenere gli ID delle transazioni, o se hai una situazione in cui si verificano più transazioni al esatto allo stesso tempo.