PostgreSQL

Fungsi Tetingkap PostgreSQL NTILE

Fungsi Tetingkap PostgreSQL NTILE
Kaedah tetingkap dalam PostgreSQL telah dibuang untuk menyamakan data diverge dan penting untuk kes penggunaan PostgreSQL analitis dan lain-lain. Kaedah NTILE () diikuti oleh klausa OVER dalam PostgreSQL dibuang untuk membahagikan baris teratur dalam siri seperti baldi bertingkat. Baldi tidak lebih daripada sekumpulan kumpulan peringkat. Sepanjang artikel ini, anda akan mengetahui cara memisahkan baris yang diurutkan dalam partisi menjadi angka tertentu dari keranjang peringkat menggunakan ciri PostgreSQL NTILE (). Kaedah NTILE () memperuntukkan nombor baldi untuk setiap kumpulan yang bermula pada 1 dalam satu set, menunjukkan kumpulan yang mana barisnya berada.

Sintaks:

>> NTILE (baldi) DI ATAS ([PARTITION BY partition expression,…] [ORDET BY sort sort]] [ASC | DESC],…]);

Pertama sekali, untuk memahami kaedah NTILE, log masuk dari shell PostgreSQL. Itulah sebabnya cuba melancarkan shell baris perintah PostgreSQL dari aplikasi. Untuk bekerja pada Pelayan lain, masukkan nama pelayan; jika tidak, tekan Enter. Sekiranya anda perlu berlatih di pangkalan data yang telah ditentukan sebelumnya, e.g., Postgres, kemudian tekan Enter atau yang lain, masukkan tajuk pangkalan data, e.g. 'ujian'. Untuk menggunakan port selain 5432, tuliskan; jika tidak, biarkan seperti sedia ada, dan tekan Enter untuk meneruskan. Mungkin meminta anda memasukkan nama pengguna sekiranya anda perlu beralih ke nama pengguna baru. Masukkan nama pengguna; jika tidak, tekan Enter sahaja. Akhirnya, anda mesti meletakkan kata laluan pengguna anda sekarang, untuk beralih menggunakan baris perintah yang menggunakan pengguna tertentu seperti di bawahnya. Selepas itu, kemasukan semua data wajib yang berkesan, anda boleh mula bekerja di NTILE.

Untuk mula bekerja di NTILE, anda harus membuat jadual baru menggunakan perintah CREATE jika anda tidak memilikinya. Fikirkan jadual "pekerja" yang ditunjukkan di bawah ini dalam pangkalan data PostgreSQL anda yang dinamakan sebagai 'ujian'. Jadual ini mengandungi empat lajur e.g., id, nama, umur, dan gaji pekerja syarikat tertentu. Setiap lajur mempunyai jumlah 10 baris, yang bermaksud 10 rekod di setiap medan lajur.

>> PILIH * DARI pekerja;

Pada mulanya, kita harus memahami konsep mudah mengambil rekod dari jadual menggunakan klausa ORDER BY. Kami telah melaksanakan perintah SELECT di bawah tanpa menggunakan NTILE untuk menghuraikan dan memahami konsep secara ringkas. Kami mengambil rekod untuk lajur; nama, umur, dan gaji sambil menyusun rekod mengikut urutan menaik bidang "umur". Anda dapat melihat bahawa ia hanya akan memaparkan rakaman seperti yang ditunjukkan dalam gambar.

>> PILIH nama, umur, gaji DARI pekerja PESANAN MENGIKUT umur;

Penggunaan NTILE () LEBIH DENGAN PESANAN OLEH Klausa:

Dengan mengandaikan jadual yang sama "pekerja", mari kita mulai menggunakan klausa NTILE () OVER dalam contoh kita. Dalam contoh ini, kami telah memilih dua lajur; nama dan gaji, sambil menyusun hasil yang berkaitan dengan urutan menaik lajur "gaji". Hasilnya akan mengandungi data di mana umur pekerja melebihi 24 tahun. Kami telah menentukan nilai baldi NTILE sebagai "3" kerana kami ingin membahagikan baris menjadi 3 baldi, e.g., 1 hingga 3. Anda dapat melihat bahawa baris berjaya dibahagikan kepada 3 baldi yang sama, mengandungi 3 baris di setiap baldi.

>> PILIH nama, gaji, NTILE (3) LEBIH (PESANAN OLEH gaji) DARI pekerja SETIAP usia> '24';

Sekarang, mari kita ambil contoh lain sambil menggunakan jadual "pekerja" yang sama. Kali ini, kami ingin mengambil rekod tiga lajur; nama, umur, dan gaji menggunakan pertanyaan SELECT di shell arahan. Terdapat sedikit perubahan dalam klausa WHERE. Pada masa ini, kami telah mencari catatan jadual "pekerja" di mana umurnya kurang dari 27 tahun yang hanya akan mendapat rekod yang mempunyai usia kurang dari 27 tahun. Sebaliknya, tidak ada perubahan dalam nilai baldi, seperti halnya lagi 3. Mencuba arahan yang dinyatakan, kami hanya menemui tiga rekod, yang sama dibahagikan kepada 3 baldi seperti yang ditunjukkan dalam gambar.

>> PILIH nama, umur, gaji, NTILE (3) LEBIH (PESANAN OLEH gaji) DARI pekerja DI MANA usia < '27';

Penggunaan NTILE () LEBIH DENGAN PESANAN OLEH dan BAHAGIAN MENGIKUT Fasal:

Mari kita contoh NTILE () OVER sambil menggunakan klausa PARTITION BY dan ORDER BY secara serentak. Katakan bahawa jadual "pekerja" yang tidak berubah dari "ujian" pangkalan data akan digunakan. Dalam contoh ini, anda mesti memilih tiga lajur; nama, umur, dan gaji, sambil menyusun dengan cara menaik dari bidang "usia". Selain itu, kami telah menggunakan klausa PARTISI MENGIKUT kolom "gaji", untuk membuat partisi jadual mengikut lajur ini. Tidak ada syarat khusus yang telah digunakan dalam pertanyaan khusus ini yang bermaksud semua catatan jadual "pekerja" akan ditampilkan. Baldi NTILE mempunyai nilai "3". Pada pelaksanaan pertanyaan yang dinyatakan di bawah, anda akan melihat hasilnya di bawah. Partisi dilakukan mengikut nilai yang berbeza dari ruangan "gaji". Semua nilai lajur "gaji" berbeza, sebab itulah terletak pada partisi yang berbeza kecuali nilai "60000". Ini bermaksud setiap partisi mendapat 1 nilai kecuali satu. Selepas itu, semua baris partisi mendapat kedudukan melalui baldi. Hanya satu baldi yang mendapat kedudukan ke-2.

>> PILIH nama, umur, gaji, NTILE (3) LEBIH (BAHAGIAN MENGIKUT gaji, PESANAN MENGIKUT umur) DARI pekerja;

Mengambil contoh yang sama NTILE () OVER dengan penggunaan klausa PARTITION BY dan ORDER BY dengan klausa WHERE. Dalam klausa WHERE, kami telah menentukan syarat, yang mengatakan bahawa satu-satunya catatan yang akan diambil adalah di mana umur pekerja kurang dari 27 tahun. Kami hanya mendapat 3 keputusan yang mempunyai 2 partisi mengikut umur dan kolum “ntile” dengan kedudukan.

>> PILIH nama, umur, gaji, NTILE (3) LEBIH (BAHAGIAN MENGIKUT gaji, ORDER MENGIKUT umur) DARI pekerja DI MANA < '27';

Kesimpulan:

Dalam panduan ini, kami telah membincangkan pelbagai contoh fungsi ntile. Anda boleh melaksanakannya mengikut keperluan anda.

Tiru klik Tetikus dengan melayang menggunakan Mouse Tanpa Klik di Windows 10
Menggunakan tetikus atau papan kekunci dalam keadaan salah penggunaan berlebihan boleh menyebabkan banyak masalah kesihatan, termasuk ketegangan, sind...
Tambahkan isyarat Tetikus ke Windows 10 menggunakan alat percuma ini
Dalam beberapa tahun kebelakangan ini komputer dan sistem operasi telah banyak berkembang. Ada saat ketika pengguna harus menggunakan perintah untuk m...
Mengawal & menguruskan pergerakan tetikus antara beberapa monitor di Windows 10
Pengurus Tetikus Paparan Dwi membolehkan anda mengawal & mengkonfigurasi pergerakan tetikus antara beberapa monitor, dengan memperlahankan pergerakann...