Hari 4: Tingkatkan SQL Untuk Ilmu Data

Jan 24 2023
Blog ini berisi fungsi Window Ranking dalam SQL seperti (Rank, Dense_Rank, Row_Number , Lead, Lag) . Rank() Fungsi RANK() ini menghitung peringkat untuk setiap baris dalam partisi dari kumpulan hasil.

Blog ini berisi fungsi Window Ranking dalam SQL seperti (Rank, Dense_Rank, Row_Number , Lead, Lag) .

Pangkat()

Fungsi ini RANK()menghitung peringkat untuk setiap baris dalam partisi dari kumpulan hasil.

Fungsi jendela Sintaks Peringkat (): -

RANK() OVER (
    [PARTITION BY partition_expression, ... ]
    ORDER BY sort_expression [ASC | DESC], ...
)

  • Dalam ORDER BYKlausa menentukan apakah baris perlu diurutkan ke dalam urutan asc/dec dari baris untuk setiap partisi yang menerapkan fungsi Rank().
Ini adalah Tabel Karyawan dengan Nama dan Gaji.

Kami menerapkan Peringkat () pada Kolom Gaji: pilih *, peringkat () di atas (diurutkan berdasarkan gaji) rn dari Karyawan e;

Fungsi rank() membagi kolom gaji berdasarkan urutan menurun.

Sekarang kami menerapkan Peringkat () dengan Partisi dengan memilih *, peringkat () di atas (Partisi dengan urutan nama berdasarkan gaji) rn dari Karyawan e

Pada fungsi Rank() ini membagi partisi kolom nama dengan kolom gaji dalam urutan menurun.

DENSE_RANK()

Fungsi DENSE_RANK()mengembalikan nilai peringkat berurutan dengan setiap baris di setiap partisi menerima peringkat yang sama jika mereka memiliki nilai yang sama.

Sintaks fungsi jendela Dense_Rank() :-

DENSE_RANK() OVER (
    [PARTITION BY partition_expression, ... ]
    ORDER BY sort_expression [ASC | DESC], ...
)

Sekarang kami menerapkan Dense_Rank() dengan Partisi dengan: pilih *, dense_rank() di atas (Partisi berdasarkan urutan nama berdasarkan gaji) rn dari Karyawan e

Dalam fungsi Dense_Rank() ini terbagi pada partisi kolom nama dengan kolom gaji dalam urutan menurun.

ROW_NUMBER()

Ini ROW_NUMBER()adalah fungsi jendela sederhana yang memberikan nomor baris bilangan bulat ke baris yang sesuai. Nomor baris dimulai dengan 1 untuk baris pertama di setiap partisi.

Sintaks fungsi jendela Row_number() :-

ROW_NUMBER() OVER (
    [PARTITION BY partition_expression, ... ]
    ORDER BY sort_expression [ASC | DESC], ...
)

kami menerapkan nomor_baris () dengan Partisi dengan: pilih *, peringkat () di atas (Partisi berdasarkan urutan nama dengan deskripsi gaji) rn dari Karyawan e;

Dalam fungsi Row_Number () ini membagi partisi kolom nama dengan kolom gaji dalam urutan menurun.

LEAD() dan LAG()

LAG()dan LEAD()merupakan fungsi posisional. Ini adalah fungsi jendela dan sangat berguna dalam membuat laporan karena dapat merujuk ke data dari baris di atas atau di bawah baris saat ini

Fungsi LAG()memungkinkan akses ke nilai yang disimpan di baris berbeda di atas baris saat ini.

Ketinggalan()

Sintaks LAG():

LAG(expression [,offset[,default_value]]) OVER(ORDER BY columns)

LEAD()mirip dengan LAG(). Sedangkan LAG()mengakses nilai yang disimpan pada baris di atas, LEAD()mengakses nilai yang disimpan pada baris di bawah.

Sintaks Lead():

LEAD(expression [,offset[,default_value]]) OVER(ORDER BY columns)

MEMIMPIN()

CATATAN: PARITION BYKlausa bersifat opsional. Jika Anda menghilangkannya, fungsi akan memperlakukan seluruh kumpulan hasil sebagai satu partisi.

terima kasih telah membacanya.

==================AKHIR=================== =======

GitHub : Sesi Hari ke-4

Tolong beri bintang di github!!

Referensi :

  1. https://www.w3schools.com/sql/default.asp
  2. https://www.geeksforgeeks.org/

Ikuti saya untuk lebih banyak posting terkait Ilmu Data!

Mari terhubung di LinkedIn !