PostgreSQL

Fungsi Jendela PostgreSQL NTILE

Fungsi Jendela PostgreSQL NTILE
Metode jendela di PostgreSQL telah dibuang untuk menyamakan data yang berbeda dan sangat penting untuk kasus penggunaan analitik dan PostgreSQL lainnya. Metode NTILE() yang diikuti oleh klausa OVER di PostgreSQL dibuang untuk membagi baris terorganisir dalam semacam rangkaian ember bertingkat. Bucket tidak lebih dari satu set grup peringkat. Sepanjang artikel ini, Anda akan menemukan cara membagi baris yang diurutkan dalam sebuah partisi menjadi angka tertentu dari bucket peringkat menggunakan fitur PostgreSQL NTILE(). Metode NTILE() mengalokasikan nomor ember ke setiap grup yang dimulai dari 1 dalam satu set, menunjukkan set tempat baris memiliki tempatnya.

Sintaksis:

>> NTILE(buckets) OVER ( [PARTITION BY partition expression,… ] [ORDET BY sort expression] ) [ASC | DESC],… ]);

Pertama-tama, untuk memahami metode NTILE, login dari shell PostgreSQL. Itu sebabnya coba luncurkan shell baris perintah PostgreSQL dari aplikasi. Untuk bekerja di Server lain, masukkan nama server; jika tidak, tekan Enter. Jika Anda perlu berlatih di database yang telah ditentukan sebelumnya, e.g., Postgres, lalu tekan Enter atau yang lain, tuliskan judul bank data, e.g. 'uji'. Untuk menggunakan port selain 5432, tuliskan; jika tidak, biarkan apa adanya, dan tekan Enter untuk melanjutkan. Ini mungkin meminta Anda untuk memasukkan nama pengguna jika Anda perlu beralih ke nama pengguna baru. Masukkan nama pengguna; lain, cukup tekan Enter. Akhirnya, Anda harus memasukkan kata sandi pengguna Anda saat ini, untuk beralih menggunakan baris perintah menggunakan pengguna tertentu seperti di bawah ini. Selanjutnya, entri efektif dari semua data wajib, Anda dapat mulai bekerja di NTILE.

Untuk mulai mengerjakan NTILE, Anda harus membuat tabel baru menggunakan perintah CREATE jika Anda belum memilikinya. Pikirkan tabel "karyawan" yang ditampilkan di bawah ini di database PostgreSQL Anda bernama 'test'. Tabel ini berisi empat kolom e.g., id, nama, usia, dan gaji karyawan perusahaan tertentu particular. Setiap kolom memiliki total 10 baris , yang berarti 10 catatan di setiap bidang kolom.

>> PILIH * DARI karyawan;

Pada awalnya, kita harus memahami konsep sederhana mengambil record dari tabel menggunakan klausa ORDER BY. Kami telah menjalankan perintah SELECT di bawah ini tanpa menggunakan NTILE untuk menguraikan dan memahami konsep secara singkat. Kami mengambil catatan untuk kolom; nama, usia, dan gaji sambil menyortir catatan dalam urutan menaik dari bidang "usia". Anda dapat melihat bahwa itu hanya akan menampilkan catatan seperti yang disajikan pada gambar.

>> PILIH nama, umur, gaji DARI karyawan ORDER BERDASARKAN umur;

Penggunaan NTILE() OVER Dengan ORDER BY Klausa:

Dengan asumsi tabel "karyawan" yang sama, mari kita mulai menggunakan klausa NTILE() OVER dalam contoh kita. Dalam contoh ini, kami telah memilih dua kolom; nama dan gaji, sambil menyortir hasil yang terkait dengan urutan menaik dari kolom "gaji". Hasilnya akan berisi data di mana usia seorang karyawan lebih besar dari 24 tahun. Kami telah mendefinisikan nilai ember NTILE sebagai "3" karena kami ingin membagi baris menjadi 3 ember, e.g., 1 sampai 3. Anda dapat melihat bahwa baris telah berhasil dibagi menjadi 3 ember yang sama, berisi 3 baris di setiap ember.

>> PILIH nama, gaji, NTILE(3) LEBIH( ORDER BY gaji ) DARI karyawan MANA usia > '24';

Sekarang, mari kita ambil contoh lain saat menggunakan tabel "karyawan" yang sama. Kali ini, kita ingin mengambil record dari tiga kolom; nama, usia, dan gaji menggunakan kueri SELECT di shell perintah. Ada sedikit perubahan pada klausa WHERE. Saat ini kami sedang mencari catatan tabel “pegawai” yang berusia kurang dari 27 tahun yang hanya akan mendapatkan catatan yang berusia kurang dari 27 tahun. Di sisi lain, tidak ada perubahan dalam nilai ember, seperti lagi 3. Mencoba perintah yang disebutkan, kami hanya menemukan tiga catatan, yang dibagi rata menjadi 3 ember seperti yang ditampilkan pada gambar.

>> PILIH nama, umur, gaji, NTILE(3) LEBIH ( ORDER BY gaji ) DARI karyawan MANA usia < '27';

Penggunaan NTILE() OVER Dengan ORDER BY dan PARTITION BY Klausa:

Mari kita ambil contoh NTILE() OVER saat menggunakan klausa PARTITION BY dan ORDER BY secara bersamaan. Misalkan tabel "karyawan" yang tidak berubah dari "tes" database akan digunakan. Dalam contoh ini, Anda harus memilih tiga kolom; nama, usia, dan gaji, sambil menyortir secara menaik dari bidang "usia". Selain itu, kami telah menggunakan klausa PARTITION BY pada kolom “gaji”, untuk membuat partisi tabel sesuai dengan kolom ini. Tidak ada kondisi khusus yang digunakan dalam permintaan khusus ini yang berarti semua catatan tabel "karyawan" akan ditampilkan. Bucket NTILE memiliki nilai "3". Pada eksekusi kueri yang disebutkan di bawah ini, Anda akan melihat hasil di bawah ini. Partisi dilakukan sesuai dengan nilai yang berbeda dari kolom "gaji". Semua nilai kolom “gaji” berbeda, itu sebabnya terletak di partisi yang berbeda kecuali nilai “60000”. Ini berarti setiap partisi mendapat 1 nilai kecuali satu. Setelah itu, semua baris partisi mendapat peringkat melalui ember. Hanya satu ember yang mendapat peringkat ke-2.

>> PILIH nama, umur, gaji, NTILE(3) LEBIH( PARTISI MENURUT gaji, ORDER BY age ) DARI karyawan;

Mengambil contoh yang sama dari NTILE() OVER dengan penggunaan klausa PARTITION BY dan ORDER BY dengan klausa WHERE. Dalam klausa WHERE, kami telah mendefinisikan kondisi, yang mengatakan bahwa satu-satunya catatan yang akan diambil adalah di mana usia karyawan kurang dari 27 tahun. Kami hanya mendapat 3 hasil yang memiliki 2 partisi menurut usia dan kolom "ntile" dengan peringkat.

>> PILIH nama, umur, gaji, NTILE(3) OVER( PARTITION BY salary, ORDER BY age ) DARI karyawan MANA usia < '27';

Kesimpulan:

Dalam panduan ini, kami telah membahas berbagai contoh fungsi ntile. Anda dapat menerapkannya sesuai kebutuhan Anda.

Instal Game Strategi OpenRA terbaru di Ubuntu Linux
OpenRA adalah mesin game Strategi Waktu Nyata Libre/Gratis yang membuat ulang game Westwood awal seperti Command & Conquer klasik: Red Alert. Mod yang...
Instal Dolphin Emulator terbaru untuk Gamecube & Wii di Linux
Dolphin Emulator memungkinkan Anda memainkan game Gamecube & Wii pilihan Anda di Komputer Pribadi (PC) Linux. Menjadi emulator game sumber terbuka da...
Cara Menggunakan Cheat Engine GameConqueror di Linux
Artikel ini mencakup panduan tentang menggunakan mesin cheat GameConqueror di Linux. Banyak pengguna yang bermain game di Windows sering menggunakan a...