Menu
CoddyTech

Fungsi NTILE

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

NTILE(n) memberi nomor pada baris dengan membaginya menjadi n bagian yang kurang lebih sama. Fungsi ini sering digunakan untuk meningkatkan performa. Mengirim data dalam jumlah besar sekaligus mungkin bukan ide yang baik, jadi fungsi ini memungkinkan pengiriman data dalam bagian yang lebih kecil secara bertahap.

Contohnya:

idlevel
14
24
35
46
57
67
SELECT id, level, NTILE(3) OVER (ORDER BY level) as pieces
from table1

Hasilnya akan seperti ini:

idlevelpieces
141
241
352
462
573
673

Kita mendapatkan 3 bagian: level 4 di bagian 1, level 5 dan level 6 di bagian 2, serta level 7 di bagian 3.
Jika jumlah baris tidak habis dibagi n, NTILE mendistribusikan baris semerata mungkin, dengan grup yang lebih besar muncul lebih dulu. Misalnya, jika kamu memiliki 9 baris dan NTILE(4), distribusinya akan seperti berikut:

  • Grup 1: 3 baris
  • Grup 2: 2 baris
  • Grup 3: 2 baris
  • Grup 4: 2 baris

Ini memastikan bahwa jumlah baris dalam setiap grup berbeda paling banyak satu baris dari grup lainnya, dan baris tambahan dibagikan ke grup bernomor lebih rendah terlebih dahulu.

challenge icon

Tantangan

Mudah

Tabel dan kolom yang tersedia:

  • creatures: creature_name, preference, has_legs (berisi 'YES' atau 'NO')

Dalam tantangan ini, kita memiliki makhluk yang ingin mencari pasangan. Kita perlu membantu mereka menemukan pasangan yang cocok.

Setiap makhluk memiliki preferensi yang dinyatakan sebagai angka. Jika angka yang dimiliki kedua makhluk cukup berdekatan, mereka mungkin cocok.

Bagi makhluk menjadi 3 grup berdasarkan nilai preferensinya, tetapi hanya pertimbangkan makhluk yang memiliki kaki (dengan has_legs = 'YES'). Kembalikan creature_name, preference, dan group_number mereka (1, 2, atau 3). Urutkan hasil berdasarkan preference secara menaik.

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