Timestamps filtern

danschna

Benutzer
Beiträge
17
Hallo zusammen,

ich hoffe ja irgendwann selbst mal Hilfestellung geben zu können, aber momentan muss ich noch gehegt und gepflegt werden :)

Aber zum Problem:

Ich habe eine Abfrage, die mir als Ergebnis aus einem ListViewer ausgibt.
Also quasi:
Liste xy, erstellt am 13.06.2018 04:26:32 wurde eingestellt
Liste xy, erstellt am 13.06.2018 04:26:34 wurde eingestellt
Liste xy, erstellt am 14.06.2018 04:00:00 wurde eingestellt
Liste xy, erstellt am 14.06.2018 04:00:05 wurde eingestellt

Ihr seht also, dass die Liste vom System immer 2x am Tag angeliefert wird. Die Listen sind identisch wenn sie am gleichen Tag kommen, aber das Quellsystem importiert die dummerweise immer 2x. Da kann ich nichts dagegen machen. Ich will aber, dass pro Tag nur eine Liste angezeigt wird. am besten die jüngere.

Ich habe erst auf date gecastet und die Zeit hinten abgeschnitten, was auch funktioniert hat, allerdings habe ich dann ein Problem mit der weiteren Verarbeitung für die der Zeitstempel nötig ist.

Wie bekomme ich hin, dass er nur pro Tag einen Datensatz liefert und dann den jüngeren?

Vielen Dank
 
Werbung:
ja, halt schlecht, wenn das da als String steht. "distinct on (timestamp) order by timestamp desc" wäre meine Idee, mit Timestamp den rausgeschnittenen Timestamp.

Hab grad nicht viel Zeit ... bin beim Kunden in Hamburg.
 
also z.B. so:

Code:
andreas@[local]:5432/test*# select * from danscha ;
                            liste                           
-------------------------------------------------------------
 Liste xy, erstellt am 13.06.2018 04:26:32 wurde eingestellt
 Liste xy, erstellt am 13.06.2018 04:26:34 wurde eingestellt
 Liste xy, erstellt am 14.06.2018 04:00:00 wurde eingestellt
 Liste xy, erstellt am 14.06.2018 04:00:05 wurde eingestellt
(4 rows)

andreas@[local]:5432/test*# select distinct on (to_timestamp(regexp_replace(liste, '[^0-9 :.]','','g'),'dd.mm.yyyy hh:mi:ss')::date) * from danscha order by (to_timestamp(regexp_replace(liste, '[^0-9 :.]','','g'),'dd.mm.yyyy hh:mi:ss')::date) asc, to_timestamp(regexp_replace(liste, '[^0-9 :.]','','g'),'dd.mm.yyyy hh:mi:ss') desc;
                            liste                           
-------------------------------------------------------------
 Liste xy, erstellt am 13.06.2018 04:26:34 wurde eingestellt
 Liste xy, erstellt am 14.06.2018 04:00:05 wurde eingestellt
(2 rows)

andreas@[local]:5432/test*#
 
Werbung:
Zurück
Oben