ROWID
to pseudokolumna Oracle, która zawiera adres konkretnego wiersza. Pozwala bazie danych lokalizować wiersze. Zwykle nie widzisz go w strukturze tabeli, ale jest tam i pozostaje ukryty. Nie oznacza to jednak, że nie możesz go używać :-)
Twoja instrukcja DELETE usuwa każdy wiersz z tabeli SALES_DETAILS czyli duplikat oparty na txt_id, customer_id
sparuj, tak jak wspomniałeś. Oznacza to, że usuwa duplikaty, ale zapisuje wiersz z najwyższą wartością wiersza w grupie.
Sprawdź to w dokumentacji aby uzyskać więcej informacji.