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
Pro Tag klappt das. da bekomme ich auch die richtige Anzahl heraus. dort ist die Abfrage so:
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,'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? Bestimmt geht es auch einfacher. Bin aber selbst ein ziemlicher Anfänger. Wäre toll hier Hilfe zu bekommen.