Fungsi MySQL FIRST_VALUE

Fungsi MySQL FIRST_VALUE

Fungsi MySQL FIRST_VALUE

Rangkuman : dalam tutorial Fungsi MySQL FIRST_VALUE, Anda akan belajar bagaimana menggunakan FIRST_VALUE()fungsi MySQL untuk mendapatkan baris pertama dari frame, partisi, atau set hasil.

Gambaran umum FIRST_VALUE()fungsinya

Ini FIRST_VALUE()adalah fungsi Windows yang memungkinkan Anda untuk memilih baris pertama dari bingkai Windows, partisi, atau rangkaian hasil.

Berikut ini ilustrasi sintaks dari FIRST_VALUE()fungsi tersebut:

FIRST_VALUE (expression) OVER (

[partition_clause]

[order_clause]

[frame_clause]

)

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

Dalam sintaks ini:

ekspresi

The FIRST_VALUE()fungsi mengembalikan nilai expressiondari baris pertama dari bingkai Windows.

The OVERklausul terdiri dari tiga klausa: partition_clause, order_clause, dan frame_clause.

partition_clause

The partition_clauseklausul membagi baris dari set hasil ke partisi yang fungsi berlaku secara mandiri. Ini partition_clausememiliki sintaks berikut:

PARTITION BY expr1, expr2, …

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

order_clause

The order_clauseklausul menentukan urutan logis baris dalam setiap partisi di mana FIRST_VALUE()fungsi beroperasi. Berikut ini adalah sintaks dari order_clause:

ORDER BY expr1 [ASC|DESC], expr2 [ASC|DESC], …

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

frame_clause

The frame_clausemendefinisikan subset (atau frame) dari partisi saat ini. Untuk informasi rinci tentang sintaks klausa bingkai, lihat tutorial fungsi Windows .

FIRST_VALUE()Contoh fungsi MySQL

Pernyataan berikut membuat tabel baru bernama overtimedan menyisipkan data sampel untuk demonstrasi:

CREATE TABLE overtime (

employee_name VARCHAR(50) NOT NULL,

department VARCHAR(50) NOT NULL,

hours INT NOT NULL,

PRIMARY KEY (employee_name , department)

);

INSERT INTO overtime(employee_name, department, hours)

VALUES(‘Diane Murphy’,’Accounting’,37),

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

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

(‘William Patterson’,’Finance’,58),

(‘Gerard Bondur’,’Finance’,47),

(‘Anthony Bow’,’Finance’,66),

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

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

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

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

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

(‘George Vanauf’,’Marketing’,89),

(‘Loui Bondur’,’Marketing’,49),

(‘Gerard Hernandez’,’Marketing’,66),

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

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

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

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

1) Menggunakan FIRST_VALUE()fungsi MySQL di seluruh contoh kumpulan hasil kueri

Pernyataan berikut mendapatkan nama karyawan, lembur, dan karyawan yang memiliki waktu lembur paling sedikit:

Baca Juga  MEMBUAT DROP CAP

SELECT

employee_name,

hours,

FIRST_VALUE(employee_name) OVER (

ORDER BY hours

) least_over_time

FROM

overtime;

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

Inilah hasilnya:

Contoh Fungsi MySQL FIRST_VALUE

Dalam contoh ini, ORDER BYklausa mengurutkan baris dalam hasil yang ditetapkan berdasarkan jam dan FIRST_VALUE()memilih baris pertama yang menunjukkan karyawan yang memiliki lembur paling sedikit.

2) Menggunakan MySQL FIRST_VALUE()melalui contoh partisi

Pernyataan berikut menemukan karyawan yang memiliki lembur paling sedikit di setiap departemen:

SELECT

employee_name,

department,

hours,

FIRST_VALUE(employee_name) OVER (

PARTITION BY department

ORDER BY hours

) least_over_time

FROM

overtime;

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

Outputnya adalah:

https://sp.mysqltutorial.org/wp-content/uploads/2018/08/MySQL-FIRST_VALUE-Function-Over-Partition-Example.png

Dalam contoh ini:

  • Pertama,¬†PARTITION BYklausul membagi karyawan menjadi partisi berdasarkan departemen.¬†Dengan kata lain, setiap partisi terdiri dari karyawan yang berada di departemen yang sama.
  • Kedua,¬†ORDER BYklausa menentukan urutan baris di setiap partisi.
  • Ketiga,¬†FIRST_VALUE()operasi di setiap partisi diurutkan berdasarkan jam.¬†Ini mengembalikan baris pertama di setiap partisi yang merupakan karyawan yang memiliki waktu lembur paling sedikit dalam departemen.

Dalam tutorial ini, Anda telah mempelajari cara menggunakan FIRST_VALUE()fungsi MySQL untuk mendapatkan baris pertama bingkai Windows.

 

Tinggalkan Komentar

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

Need Help? Chat with us