Odpowiednik Postgresql DAY(LAST_DAY(sales_date))
byłoby:
extract(day from (date_trunc('month', sales_date + interval '1 month') - interval '1 day'))
Wyrażenie SUM(country <> 'None')
również należy naprawić jako
SUM(case when country <> 'None' then 1 else 0 end)
Dobrym pomysłem może być zdefiniowanie tej funkcji zgodności:
create function last_day(d date) returns date as
$$
select date_trunc('month', d + interval '1 month') - interval '1 day';
$$ language sql immutable;
Wtedy pierwsze wyrażenie staje się po prostu
extract(day from last_day(sales_date))