Menu
CoddyTech

Kriteria PARTITION BY

Pelajaran 5 dari 13 dalam kursus SQL Tingkat Lanjut di Coddy.

Opsi lain untuk pengaturan OVER () adalah PARTITION BY

Opsi ini memungkinkan kita memberi nomor pada baris secara terpisah untuk setiap grup 

Contohnya:

idtype
132t1
52t2
92t1
154t3
198t1
SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type) as row_num
FROM table1

Ini akan menghasilkan kolom yang memberi nomor pada setiap type di dalam grupnya sendiri:

idtyperow_num
132t11
52t21
92t12
154t31
198t13

id 92 memiliki row_num 2 karena merupakan baris kedua dengan type t1

Kita juga dapat menggabungkan PARTITION BY dengan ORDER BY:

SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1

Ini akan memberi nomor pada baris dalam urutan menaik berdasarkan id untuk setiap type:

idtyperow_num
132t12
52t21
92t11
154t31
198t13

Sekarang id 132 memiliki row_num 2 karena nilainya lebih besar dari 92 dan lebih kecil dari 198.

Kita bahkan dapat menentukan beberapa kolom di dalam PARTITION BY:

ROW_NUMBER() OVER (PARTITION BY type, hue)
challenge icon

Tantangan

Mudah

Sebuah pabrik sedang membuat pintu. Pabrik itu perlu memberi nomor pada pintu untuk setiap country dan color yang publication_year-nya sebelum 2000. Beri nama kolom ini row_num.

Abaikan pintu tanpa spesifikasi. Urutkan hasilnya secara menaik berdasarkan id. 

Coba sendiri

Semua pelajaran di SQL Tingkat Lanjut

Latihan sendiri: Compiler Python online