PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So verwenden Sie die date_part-Funktion, um den Wert pro Monat auf jeden Tag und jedes Land aufzuteilen

Das Postgresql-Äquivalent von DAY(LAST_DAY(sales_date)) wäre:

extract(day from (date_trunc('month', sales_date + interval '1 month') - interval '1 day'))

Der Ausdruck SUM(country <> 'None') muss auch als

festgelegt werden
SUM(case when country <> 'None' then 1 else 0 end)

Es könnte eine gute Idee sein, diese Kompatibilitätsfunktion zu definieren:

create function last_day(d date) returns date as
$$
  select date_trunc('month', d + interval '1 month') - interval '1 day';
$$ language sql immutable;

Dann wird der erste Ausdruck einfach

extract(day from last_day(sales_date))