Menu
CoddyTech

Kriteria PARTITION BY

Termasuk bagian Dasar-Dasar dalam perjalanan SQL di Coddy. Pelajaran 59 dari 72.

Opsi lain untuk klausa OVER () adalah PARTITION BY

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

Contohnya:

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

Ini akan menghasilkan kolom yang memberi nomor pada baris setiap tipe secara terpisah, berdasarkan urutan id (hasil di bawah ditampilkan dengan pengelompokan berdasarkan tipe):

idtyperow_num
92t11
132t12
198t13
52t21
154t31

id 92 memiliki row_num 1 karena merupakan id terkecil dalam type t1.

Catatan: ROW_NUMBER() memerlukan klausa ORDER BY di dalam OVER() untuk menentukan cara memberi nomor pada baris dalam setiap partisi.

Kita bahkan bisa menentukan beberapa kolom di dalam PARTITION BY:

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

Tantangan

Mudah

Tabel dan kolom yang tersedia:

  • doors: id, publication_year
  • doors_specs: id, country, color

Sebuah pabrik sedang membuat pintu. Pabrik itu perlu memberi nomor pada pintu untuk setiap kombinasi country dan color yang memiliki publication_year lebih kecil dari 2000. Beri nama kolom ini row_num.

Pintu harus diberi nomor dalam setiap grup dengan urutan menaik berdasarkan id. Pintu tanpa spesifikasi harus diabaikan. Urutkan hasil akhir dengan urutan menaik berdasarkan id. 

Coba sendiri

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Playground SQL