sql >> Databáze >  >> RDS >> PostgreSQL

Jak používat funkci date_part k rozdělení hodnoty za měsíc na každý den a zemi

Ekvivalent Postgresql pro DAY(LAST_DAY(sales_date)) by bylo:

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

Výraz SUM(country <> 'None') také je třeba opravit jako

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

Možná by bylo vhodné definovat tuto funkci kompatibility:

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

Pak se první výraz stane jednoduše

extract(day from last_day(sales_date))


  1. Chyba:Musíte nainstalovat alespoň jeden balíček postgresql-client-<verze>

  2. SQL Query, Průměrný přelez a pár, který vylezl nejvíce vrcholů

  3. Kde mysql ukládá data?

  4. Sql Server deterministická uživatelsky definovaná funkce