/ / Oracle - Zeilen mit max_date duplizieren [geschlossen] zurückgeben - mysql, sql, oracle, date, duplicates

Oracle - Zeilen mit max_date duplizieren [geschlossen] zurückgeben - mysql, sql, oracle, date, duplicates

Ich habe folgende Tabellenstruktur:
car_id number PK, rent_date date, return_date date.

Die Tabelle ist sehr inkonsistent und ich möchte die car_id,max(return_date) aber nur wenn das Maximum (return_date) dupliziert ist. Ist es möglich?

Beispielsweise:

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

Das return_date ist für die car_id 2 doppelt vorhanden, daher sollte es von der Abfrage zurückgegeben werden.

Vielen Dank !!

Antworten:

0 für die Antwort № 1
SELECT T.car_id, max(T.return_date) From TableName T
Group by T.car_id, T.return_date
Having COUNT(*) > 1

Wenn Time part of Date im Vergleich nicht erwünscht ist, können Sie Folgendes verwenden:

In Oracle:

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

In MySql:

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