Ich versuche, die folgende Abfrage mit mehreren Filtern auszuführen. Ich bekomme immer einen Fehler. Wenn ich den Filter einzeln ausführe, läuft die Abfrage gut. Müssen mehrere Filter (wo ...) einfach nicht funktionieren?Mehrere Filter (wo ...) Bedingungen PostgreSQL
select count(distinct a.user) as total
,count(distinct a.user) filter (where d.date >= current_date - '1 day'::interval) as 1_day
,count(distinct a.user) filter (where d.date >= current_date - '3 days'::interval) as 3_day
,count(distinct a.user) filter (where d.date >= current_date - '1 week'::interval) as 1_week
,count(distinct a.user) filter (where d.date >= current_date - '1 month'::interval) as 1_month
from ppl d
join
(select distinct t.user from tbl t
join date dd
on t.date::date between dd.month_start and dd.month_end
where dd.date = current_date - '14 days'::INTERVAL
) as a
on d.user = a.user
Ich erhalte diese Fehlermeldung:
[Err] ERROR: syntax error at or near "1"
LINE 2: ....lastedit_date >= current_date - '1 day'::interval) as 1_day
^
Ich vermute (obwohl ich zu faul bin zu überprüfen), dass Ihre Feld-Aliase (1_day, 3_day, ...) nicht mit einer Ziffer beginnen können, wenn sie nicht zitiert werden. –