Zeitsortierung

Moin zusammen,
Ich habe eine Liste mit Mac Adressen, Ip Adressen und “time_last” also wann der Server das letzte mal “gesehen” wurde.
Jetzt möchte ich diese Liste nach aktualität sortieren das heißt ich will nur die angezeigt bekommen die in den letzten 3 Tagen gesehen wurden.
Wie bekomme ich das hin? Meine erste Idee war mit current_timestamp oder now zu arbeiten, weiß jedoch nicht wie das das hinbekomme mit den letzten 3 Tagen.
Ich bin außerdem absoluter neuling auf diesem Gebiet.
MFG

where ts_column > now() - ‘3days’::interval

select
node.mac,
node.port,
device.dns,
node_ip.ip,
node_ip.time_last
from
node,
device,
node_ip
where
device.dns=‘servername’
and node.switch = device.ip
and node_ip.mac=node.mac
and node_ip.active=‘t’
and time_last > now() - ‘3days’::interval
order by node.port, current_timestamp;


Hab meinen Befehl jetzt so, bekomme jedoch immer noch Server angezeigt wo time_last der 10.9 ist

Eher unwahrscheinlich:

test=# select now() - '3days'::interval;
           ?column?
-------------------------------
 2015-09-20 14:32:58.307859+02
(1 row)

Datentypen passen?

2015-09-16 14:01:18
2015-09-23 14:41:19
2015-09-22 07:30:54
2015-09-22 10:41:04

Das sind die ersten 4 zeitangaben…

Und das sind timestamps?

Btw.: gewöhn Dir bitte expliziete Joins an, Du hast da 3 Tabellen und vermengst Join-Conditions mit Where-Conditions. Saubere Join-Syntax mit Angabe des Join-Type und der Join-Condition sind besser lesbar und weniger fehleranfällig.

select * from node where time_last > current_timestamp - ‘3days’::interval order by time_last;
Der Befehl klappt… Aber warum klappt das in der "langen Abfrage nicht ?