PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Cara menggunakan fungsi date_part untuk membagi nilai per bulan ke setiap hari dan negara

Postgresql setara dengan DAY(LAST_DAY(sales_date)) akan menjadi:

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

Ekspresi SUM(country <> 'None') juga perlu diperbaiki sebagai

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

Mungkin ide yang baik untuk mendefinisikan fungsi kompatibilitas ini:

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

Kemudian ekspresi pertama menjadi sederhana

extract(day from last_day(sales_date))


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. EF Core GroupBy dengan Select Distinct Count

  2. postgresql menggabungkan beberapa periode menjadi satu

  3. Postgres:mengonversi satu baris menjadi beberapa baris (unpivot)

  4. Bagaimana cara menambahkan indeks unik bersyarat di PostgreSQL

  5. referensi tidak valid ke entri klausa FROM untuk tabel dalam kueri Postgres