Contoh partisi MySQL NTH_VALUE Function OVER

Fungsi MySQL NTH_VALUE

Fungsi MySQL NTH_VALUE

Ringkasan : dalam tutorial Fungsi MySQL NTH_VALUE, Anda akan belajar bagaimana menggunakan NTH_VALUE()fungsi untuk mendapatkan nilai dari baris ke-N dalam kumpulan hasil.

Ini NTH_VALUE()adalah fungsi Windows yang memungkinkan Anda mendapatkan nilai dari baris ke-N dalam rangkaian baris yang diurutkan.

Berikut ini adalah sintaks dari NTH_VALUE()fungsi tersebut:

NTH_VALUE(expression, N)

FROM FIRST

OVER (

partition_clause

order_clause

frame_clause

)

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

The NTH_VALUE()fungsi mengembalikan nilai expressiondari baris N dari bingkai Windows. Jika baris ke-N tidak ada, fungsi akan kembali NULL. N harus berupa bilangan bulat positif, misalnya 1, 2, dan 3.

Perintah tersebut FROM FIRSTmenginstruksikan NTH_VALUE()fungsi untuk memulai kalkulasi di baris pertama bingkai Windows.

Perhatikan bahwa standar SQL mendukung FROM FIRSTdan FROM LAST. Namun, MySQL hanya mendukung FROM FIRST. Jika Anda ingin mensimulasikan efek FROM LAST, maka Anda dapat menggunakan ORDER BYin over_clauseuntuk mengurutkan hasil dalam urutan terbalik.

NTH_VALUE()Contoh fungsi MySQL

Kami akan membuat tabel baru bernama  basic_payuntuk demonstrasi.

CREATE TABLE basic_pays(

employee_name VARCHAR(50) NOT NULL,

department VARCHAR(50) NOT NULL,

salary INT NOT NULL,

PRIMARY KEY (employee_name , department)

);

INSERT INTO

basic_pays(employee_name,

department,

salary)

VALUES

(‘Diane Murphy’,’Accounting’,8435),

(‘Mary Patterson’,’Accounting’,9998),

(‘Jeff Firrelli’,’Accounting’,8992),

(‘William Patterson’,’Accounting’,8870),

(‘Gerard Bondur’,’Accounting’,11472),

(‘Anthony Bow’,’Accounting’,6627),

(‘Leslie Jennings’,’IT’,8113),

(‘Leslie Thompson’,’IT’,5186),

(‘Julie Firrelli’,’Sales’,9181),

(‘Steve Patterson’,’Sales’,9441),

(‘Foon Yue Tseng’,’Sales’,6660),

(‘George Vanauf’,’Sales’,10563),

(‘Loui Bondur’,’SCM’,10449),

(‘Gerard Hernandez’,’SCM’,6949),

(‘Pamela Castillo’,’SCM’,11303),

(‘Larry Bott’,’SCM’,11798),

(‘Barry Jones’,’SCM’,10586);

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

Menggunakan NTH_VALUE()fungsi MySQL di set hasil

Pernyataan berikut menggunakan NTH_VALUE()fungsi untuk menemukan karyawan yang memiliki gaji tertinggi kedua:

SELECT

employee_name,

salary,

NTH_VALUE(employee_name, 2) OVER (

ORDER BY salary DESC

) second_highest_salary

FROM

basic_pays;

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

Inilah hasilnya:

Contoh Fungsi MySQL NTH_VALUE

NTH_VALUE() Contoh Menggunakan MySQL melalui Partisi

Kueri berikut menemukan karyawan yang memiliki gaji tertinggi kedua di setiap departemen:

SELECT

employee_name,

department,

salary,

Baca Juga  Cara menangani kesalahan makro di Excel

NTH_VALUE(employee_name, 2) OVER (

PARTITION BY department

ORDER BY salary DESC

RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING

) second_highest_salary

FROM

basic_pays;

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

Inilah hasilnya:

Contoh partisi MySQL NTH_VALUE Function OVER

Dalam kueri ini, kami menambahkan PARTITION BYklausul untuk membagi karyawan berdasarkan departemen. Kemudian NTH_VALUE()fungsi tersebut diterapkan ke setiap partisi secara independen.

Dalam tutorial ini, Anda telah mempelajari cara menggunakan NTH_VALUE()fungsi MySQL untuk mendapatkan nilai dari baris ke-N dari kumpulan hasil.

 

Tinggalkan Komentar

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

Need Help? Chat with us