Anzeigen Daten letzen 30 Tage oder 1 Monat

shasamkab

Benutzer
Beiträge
10
Hallo zusammen,
ich versuche gerade die Calls pro Tag der letzten 30 Tage oder 1 Monat anzeigen zu lassen. Allerdings klappt das nicht. Ich bekomme ganz falsche Daten.

so sieht meine Abfrage aus:

Ziel soll es sein, die Anzahl der Calls pro Tag der letzten 30 Tage bzw. 1 Monat zu erhalten.

SELECT count(cd.calls),cd.CONVERT_DATE
FROM (
SELECT count(callid) as calls,to_char(to_timestamp(starttime::bigint/1000),'DD.MM.YYYY') as CONVERT_DATE
FROM cdrsummary
WHERE calledname = 'Hotline Group' AND incoming = 'true' AND answeredbyusername ILIKE '%'
GROUP BY CONVERT_DATE,callid
) as cd
WHERE cd.CONVERT_DATE > to_char(current_date + Interval '-1' month,'DD.MM.YYYY') AND cd.CONVERT_DATE < to_char(current_date,'DD.MM.YYYY')
GROUP BY cd.calls,cd.CONVERT_DATE

ich hatte es bereits mit Tickets hinbekommen. Dort ist es jedoch eine MySQL Datenbank. Da sieht die Abfrage so aus und da funktioniert es.

SELECT DATE(DATE_FORMAT(t.created,'%Y-%m-%d')) AS 'Datum', COUNT(t.number) AS 'Anzahl'
FROM ticket t
WHERE t.created > NOW() + INTERVAL -1 MONTH AND t.created < NOW()
GROUP BY DATE_FORMAT(t.created,'%Y-%m-%d');

Was habe ich hier falsch oder anders gemacht?
 
Werbung:
ich habe simpel ganze Zahlen als Calls und das Datum ist in Unix Timestamp, was ich umgewandelt habe in DD.MM.YYYY oder meinst du was anderes? - Ich bin leider ziemlich frisch in der Materie. Das sind so die ersten Anfänge. Eventuell geht es simpler? :D
 
oh, cool. Das wäre jetzt sehr interessant zu erfahren wie es einfacher geht und das die Abfrage auch richtig funktioniert mit den letzten 30 Tagen bzw. 1 Monat.
 
Code:
postgres=# select current_date - '1 month'::interval;
      ?column?       
---------------------
 2024-05-01 00:00:00
(1 row)

postgres=#
 
Werbung:
Gelöst. Dort wurde die richtige Antwort geliefert.

 
Zurück
Oben