MySQL MariaDB

Fungsi Jendela RANK MySQL

Fungsi Jendela RANK MySQL
Metode Ranking mengalokasikan peringkat di dalam partisi dari hasil set ke setiap baris. Peringkat suatu baris ditentukan dengan menambah satu angka peringkat dari baris yang mendahuluinya. MySQL menggunakan fitur peringkat yang membantu satu peringkat per baris dalam partisi skema. Di MySQL, metode penilaian memang merupakan metode semi-bagian dari jendela of. Anda akan menggunakan metode pemeringkatan di MySQL dengan klausa berikut:

Secara total, ada tiga jenis fungsi peringkat, sebagai berikut:

PERINGKAT MySQL():

Ini adalah metode yang memberikan peringkat di dalam partisi atau array hasil outcome dengan celah per baris. Secara kronologis, peringkat baris tidak dialokasikan sepanjang waktu (i.e., bertambah satu dari baris sebelumnya). Bahkan ketika Anda memiliki dasi di antara beberapa nilai, pada saat itu, utilitas rank() menerapkan peringkat yang sama untuk itu. Juga, peringkat sebelumnya ditambah angka angka berulang mungkin merupakan nomor peringkat berikutnya subsequent.

Untuk memahami peringkat, buka shell klien baris perintah dan ketik kata sandi MySQL Anda untuk mulai menggunakannya.

Asumsikan bahwa kita memiliki tabel di bawah ini bernama "sama" dalam database "data", dengan beberapa catatan some.

>> PILIH * DARI data.sama;

Contoh 01: RANK Sederhana()

Di bawah ini, kami telah menggunakan fungsi Rank dalam perintah SELECT. Kueri ini memilih kolom “id” dari tabel “sama” sambil memeringkatnya menurut kolom “id”. Seperti yang Anda lihat, kami telah memberi nama pada kolom peringkat, yaitu "peringkat_saya". Peringkat sekarang akan disimpan di kolom ini, seperti yang ditunjukkan di bawah ini.

>> PILIH id, RANK() OVER( ORDER BY id ) my_rank FROM fata.sama;

Contoh 02: RANK() Menggunakan PARTITION

Asumsikan tabel lain "karyawan" dalam database "data" dengan catatan berikut:. Mari kita memiliki contoh lain yang membagi hasil yang ditetapkan menjadi segmen.

>> PILIH * DARI data.karyawan;

Untuk menggunakan metode RANK(), instruksi selanjutnya memberikan peringkat ke setiap baris dan membagi hasil yang ditetapkan ke dalam partisi menggunakan "Usia" dan mengurutkannya tergantung pada "Gaji". Kueri ini telah mengambil semua catatan saat memberi peringkat di kolom "peringkat_baru". Anda dapat melihat output dari kueri ini di bawah. Itu telah mengurutkan tabel menurut "Gaji" dan membaginya menurut "Usia".

>> PILIH *, RANK() OVER(PARTITION BY Age ORDER BY Gaji) new_rank FROM data.karyawan;

MySQL DENSE_Rank():

Ini adalah fungsi di mana, tanpa lubang apapun, menentukan peringkat per setiap baris di dalam divisi atau kumpulan hasil. Peringkat baris paling sering dialokasikan secara berurutan. Kadang-kadang, Anda memiliki ikatan di antara nilai-nilai, dan oleh karena itu ditetapkan ke peringkat yang tepat oleh peringkat padat, dan peringkat berikutnya adalah nomor berikutnya yang berhasil.

Contoh 01: DENSE_RANK sederhana()

Misalkan kita memiliki tabel “karyawan”, dan Anda harus memberi peringkat pada kolom tabel, “Nama”, dan “Gaji” sesuai dengan Kolom “Nama”. Kami telah membuat kolom baru "dens_Rank" untuk menyimpan peringkat catatan di dalamnya. Setelah menjalankan kueri di bawah ini, kami memiliki hasil berikut dengan peringkat yang berbeda untuk semua nilai:.

>> PILIH Nama, Gaji, DENSE_RANK() OVER( ORDER BY Name ) dens_rank FROM data.karyawan;

Contoh 02: DENSE_RANK() Menggunakan PARTITION

Mari kita lihat contoh lain yang membagi hasil yang ditetapkan menjadi segmen. Menurut sintaks di bawah, set yang dihasilkan dipartisi oleh frase PARTITION BY dikembalikan oleh pernyataan FROM, dan metode DENSE_RANK() kemudian dioleskan ke setiap bagian menggunakan kolom "Nama". Kemudian, untuk setiap segmen, frasa ORDER BY dioleskan untuk menentukan imperatif baris menggunakan kolom “Usia”.

>> PILIH Nama, Umur, Gaji, DENSE_RANK() OVER(PARTITION BY Name ORDER BY Age) new_rank FROM data.karyawan;

Setelah menjalankan kueri di atas, Anda dapat melihat bahwa kami memiliki hasil yang sangat berbeda dibandingkan dengan metode Single density_rank() pada contoh di atas. Kami mendapatkan nilai berulang yang sama untuk setiap nilai baris, seperti yang Anda lihat di bawah. Ini adalah ikatan nilai peringkat.

MySQL PERCENT_RANK():

Ini memang metode peringkat persentase (peringkat komparatif) yang menghitung baris di dalam partisi atau koleksi hasil. Metode ini mengembalikan daftar dari skala nilai nol hingga 1.

Contoh 01: PERCENT_RANK sederhana()

Menggunakan tabel “karyawan”, kita telah melihat contoh metode PERCENT_RANK() sederhana. Kami memiliki pertanyaan di bawah ini untuk ini. Kolom per_rank telah dihasilkan oleh metode PERCENT_Rank() untuk menentukan peringkat hasil yang ditetapkan dalam bentuk persentase. Kami telah mengambil data sesuai dengan urutan penyortiran kolom "Usia" dan kemudian kami memberi peringkat nilai dari tabel ini. Hasil kueri untuk contoh ini memberi kami peringkat persentase untuk nilai-nilai seperti yang disajikan pada gambar di bawah ini.

>> PILIH *, PERCENT_RANK() OVER( ORDER BY Age ) per_rank FROM data.karyawan;

Contoh 02: PERCENT_RANK() Menggunakan PARTITION

Setelah melakukan contoh sederhana PERCENT_RANK(), sekarang giliran klausa “PARTITION BY”. Kami telah menggunakan tabel "karyawan" yang sama. Mari kita lihat sekilas contoh lain yang membagi hasil yang ditetapkan menjadi beberapa bagian. Diberikan dari sintaks di bawah ini, dinding set yang dihasilkan oleh ekspresi PARTITION BY diganti dengan deklarasi FROM, serta metode PERCENT_RANK() kemudian digunakan untuk memberi peringkat setiap urutan baris dengan kolom "Nama". Pada gambar yang ditampilkan di bawah, Anda dapat melihat set hasil hanya berisi nilai 0 dan 1.

>> PILIH *, PERCENT_RANK() OVER(PARTITION BY Gaji ORDER BY Name) per_rank FROM data.karyawan;

Kesimpulan:

Akhirnya, kami telah melakukan ketiga fungsi peringkat untuk baris yang digunakan di MySQL, melalui shell klien baris perintah MySQL. Juga, kami telah mempertimbangkan klausa sederhana dan PARTITION BY dalam penelitian kami.

Tombol klik kiri mouse tidak berfungsi pada Windows 10
Jika Anda menggunakan mouse khusus dengan laptop, atau komputer desktop, tetapi but tombol klik kiri mouse tidak berfungsi pada Windows 10/8/7 untuk b...
Kursor melompat atau bergerak secara acak saat mengetik di Windows 10
Jika Anda menemukan bahwa kursor mouse Anda melompat atau bergerak sendiri, secara otomatis, acak saat mengetik di laptop atau komputer Windows, maka ...
Cara membalikkan arah gulir Mouse dan Touchpads di Windows 10
Mouse dan Panel sentuhs tidak hanya membuat komputasi menjadi mudah tetapi juga lebih efisien dan tidak memakan banyak waktu. Kami tidak dapat membaya...