Fungsi MySQL DENSE_RANK

Fungsi MySQL DENSE_RANK

Fungsi MySQL DENSE_RANK

Rangkuman : dalam tutorial Fungsi MySQL DENSE_RANK , Anda akan belajar tentang DENSE_RANK()fungsi MySQL dan bagaimana menerapkannya untuk menemukan peringkat baris dalam partisi atau kumpulan hasil.

Pengenalan DENSE_RANKfungsi MySQL

Ini DENSE_RANK()adalah fungsi Windows yang memberikan peringkat ke setiap baris dalam partisi atau hasil yang ditetapkan tanpa celah dalam nilai peringkat.

Pangkat baris dinaikkan satu dari jumlah nilai pangkat berbeda yang muncul sebelum baris.

Sintaks DENSE_RANK() fungsinya adalah sebagai berikut:

DENSE_RANK() OVER (

PARTITION BY <expression>[{,<expression>…}]

ORDER BY <expression> [ASC|DESC], [{,<expression>…}]

)

Bahasa kode: SQL (Structured Query Language) ( sql )

Dalam sintaks ini:

  • Pertama,¬†PARTITION BYklausa membagi kumpulan hasil yang dihasilkan oleh¬†FROMklausa menjadi partisi.¬†The¬†DENSE_RANK()Fungsi diterapkan untuk setiap partisi.
  • Kedua,¬†ORDER BY¬† klausa menentukan urutan baris di setiap partisi tempat¬†DENSE_RANK()fungsi beroperasi.

Jika sebuah partisi memiliki dua atau lebih baris dengan nilai peringkat yang sama, setiap baris ini akan diberi peringkat yang sama.

Berbeda dengan RANK()fungsinya, DENSE_RANK()fungsi tersebut selalu mengembalikan nilai peringkat yang berurutan.

Misalkan kita memiliki tabel tdengan beberapa sample data sebagai berikut:

CREATE TABLE t (

val INT

);

INSERT INTO t(val)

VALUES(1),(2),(2),(3),(4),(4),(5);

SELECT

*

FROM

t;

Bahasa kode: SQL (Structured Query Language) ( sql )

Pernyataan berikut menggunakan DENSE_RANK()fungsi untuk menetapkan peringkat ke setiap baris:

SELECT

val,

DENSE_RANK() OVER (

ORDER BY val

) my_rank

FROM

t;

Bahasa kode: SQL (Structured Query Language) ( sql )

Inilah hasilnya:

Contoh Fungsi MySQL DENSE_RANK

DENSE_RANK()Contoh fungsi MySQL

Kami akan menggunakan salestabel yang dibuat di tutorial fungsi Windows untuk demonstrasi.

meja penjualan

Pernyataan berikut menggunakan DENSE_RANK()fungsi untuk memberi peringkat karyawan penjualan berdasarkan jumlah penjualan.

SELECT

sales_employee,

fiscal_year,

sale,

DENSE_RANK() OVER (PARTITION BY

fiscal_year

ORDER BY

sale DESC

) sales_rank

FROM

sales;

Bahasa kode: SQL (Structured Query Language) ( sql )

Outputnya adalah sebagai berikut:

MySQL DENSE_RANK - Tetapkan Peringkat ke karyawan penjualan

Dalam contoh ini:

  • Pertama,¬†PARTITION BYklausul membagi kumpulan hasil menjadi beberapa partisi menggunakan tahun fiskal.
  • Kedua,¬†ORDER BYklausul menentukan urutan karyawan penjualan menurut penjualan dalam urutan menurun.
  • Ketiga,¬†DENSE_RANK()fungsi tersebut diterapkan ke setiap partisi dengan urutan baris yang ditentukan oleh¬†ORDER BYklausa.
Baca Juga  FUNGSI ROUND

Dalam tutorial ini, Anda telah mempelajari cara menggunakan DENSE_RANK()fungsi MySQL untuk menentukan peringkat baris di setiap partisi dari kumpulan hasil.

 

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Need Help? Chat with us