2016-05-16 11 views
0

Ich habe o Tabellenname table_1 mit 4 Spalten id, text, fromDate, toDate. Die Tabelle stellt die Arbeitserfahrung dar. Ich möchte eine Funktion schaffen, die die Reihe mit Spalten id, text zurückgibt, wo der Angestellte jünger arbeitete. Das heißt, ich brauche die Spalte toDate, um am nächsten zu sein. HierFinde das neueste Datum

ist eine Demonstration von meinem Code:

Select (abs("toDate"-now())) as date_diff 
from table_1 

Select id,text 
from table_1 
where (abs("toDate"-now()))=select min(date_diff) 

Ist das richtig oder gibt es etwas besser kann ich tun?

+0

Hat Ihre Daten speichern Informationen über die Zukunft? Sind Sie sicher, dass Sie "keine aktuellen Informationen benötigen, wenn die Dauer (vonDatum bis zuDatum) das aktuelle oder das nächste Datum umfasst, wenn dies nicht der Fall ist"? Das würde bedeuten, dass Sie vor dem heutigen Tag nach dem Maximum von Heute suchen oder nach dem heutigen Tag nach dem Minimum von Heute? –

Antwort

0

ich wil so etwas wie dies versucht:

Select id,text 
from table_1 
where "toDate" = (select max ("toDate") from table_1) 

Es werden Sie den neuesten "toDate" Wert.

+0

Dies zeigt Ihnen alle Ergebnisse, wenn mehr als eine Zeile die maximale "toDate" -Methode enthält – lsilva

0

Try this:

select * from table_1 
order by to_date desc 
limit 1 
Verwandte Themen