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

Fungsi jendela dan lebih banyak agregasi lokal

Ini mengembalikan hasil yang Anda inginkan dengan data sampel. Tidak yakin apakah itu akan berfungsi untuk data dunia nyata:

select k, 
       min(v) over (partition by group_nr) as min_v,
       max(v) over (partition by group_nr) as max_v
from (
    select *,
           sum(group_flag) over (order by v,k) as group_nr
    from (
    select *,
           case
              when lag(k) over (order by v) = k then null
              else 1
            end as group_flag
    from window_test
    ) t1
) t2
order by min_v;

Saya mengabaikan DISTINCT sekalipun.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menggunakan skema di Django?

  2. postgresql - ganti semua instance string dalam bidang teks

  3. Bagaimana cara menerapkan fungsi ke setiap elemen kolom array di Postgres?

  4. Ekstensi PostgreSQL Favorit Saya - Bagian Kedua

  5. Bagaimana transaction_timestamp() Bekerja di PostgreSQL