/ / Oracle - Zwraca wiersze z duplikatem max_date [zamknięte] - mysql, sql, oracle, date, duplicates

Oracle - Zwraca wiersze z max_date duplicate [closed] - mysql, sql, oracle, date, duplicates

Mam następującą strukturę tabeli:
car_id number PK, rent_date date, return_date date.

Tabela jest bardzo niespójna i chciałbym ją odzyskać car_id,max(return_date) ale tylko jeśli maksymalna (data_powrotu) jest zduplikowana. Czy to możliwe?

Na przykład:

 2    12/12/12  13/12/12
2    11/12/12  13/12/12

Data_powrotu jest zduplikowana dla car_id 2, więc powinna zostać zwrócona przez zapytanie.

Dzięki !!

Odpowiedzi:

0 dla odpowiedzi № 1
SELECT T.car_id, max(T.return_date) From TableName T
Group by T.car_id, T.return_date
Having COUNT(*) > 1

Jeśli część czasu Data nie jest pożądana w porównaniu, możesz użyć:

W Oracle:

SELECT T.car_id, max(T.return_date) From TableName T
Group by T.car_id, TRUNC(T.return_date)
Having COUNT(*) > 1

W MySql:

SELECT T.car_id, max(T.return_date) From TableName T
Group by T.car_id, DATE(T.return_date)
Having COUNT(*) > 1