Sekilas, MySQL MAX()
dan GREATEST()
fungsi melakukan operasi serupa. Keduanya mengembalikan nilai maksimum dari rentang nilai. Namun, ada perbedaan antara kedua fungsi ini.
Cara terbaik untuk melihat perbedaan antara kedua fungsi ini adalah dengan membandingkan sintaksnya.
Sintaks
Sintaks untuk setiap fungsi berjalan seperti ini:
MAX([DISTINCT] expr) [over_clause] GREATEST(value1,value2,...)
Jadi sudah, mereka terlihat sangat berbeda. MAX()
fungsi menerima DISTINCT
kata kunci serta OVER
klausa (dan GREATEST()
fungsi tidak).
Namun, perbedaan utama antara kedua fungsi ini adalah pada argumen yang diterima. Khususnya:
MAX()
menerima satu argumenGREATEST()
menerima banyak argumen
Jadi MAX()
biasanya digunakan untuk mengembalikan nilai maksimum dalam kolom dalam database. Tabel dapat berisi banyak baris, tetapi fungsi ini mengembalikan satu baris dengan nilai maksimum.
GREATEST()
di sisi lain, mengembalikan argumen bernilai maksimum dari daftar argumen yang diteruskan ke sana. Jadi Anda bisa memberikan katakanlah, 3 argumen ke fungsi ini dan itu akan mengembalikan satu dengan nilai terbesar.
Contoh 1 – Fungsi MAX()
Berikut adalah contoh untuk mendemonstrasikan MAX()
fungsi.
SELECT MAX(Population) AS 'Result' FROM City;
Hasil:
+----------+ | Result | +----------+ | 10500000 | +----------+
Contoh ini menemukan kota dengan populasi terbesar dari City
meja. Kolom yang berisi jumlah penduduk tiap kota disebut Population
.
Poin kunci tentang contoh ini adalah bahwa hanya satu argumen yang diberikan ke fungsi, tetapi beberapa baris ditanyakan.
Jika Anda mencoba meneruskan beberapa argumen ke MAX()
fungsi Anda akan mendapatkan kesalahan.
Contoh 2 – Fungsi GREATEST()
Berikut adalah contoh untuk mendemonstrasikan GREATEST()
fungsi.
SELECT GREATEST(1, 5, 9) AS 'Result';
Hasil:
+--------+ | Result | +--------+ | 9 | +--------+
Jadi dalam hal ini, kami memberikan tiga argumen. Setiap argumen dibandingkan satu sama lain. Ini berbeda dengan argumen tunggal yang diberikan ke MAX()
fungsi.
Jika Anda mencoba meneruskan satu argumen ke GREATEST()
fungsi Anda akan mendapatkan kesalahan.