SQLite max()
fungsi mengembalikan nilai maksimum dari semua nilai dalam grup.
Nilai maksimum adalah nilai yang akan muncul terakhir dalam kueri yang menggunakan ORDER BY
klausa pada kolom yang sama.
Contoh
Berikut ini contoh untuk didemonstrasikan.
SELECT max(Price) FROM Products;
Hasil:
389.45
Berikut kueri yang mengembalikan semua baris dalam tabel itu.
SELECT * FROM Products
ORDER BY Price;
Hasil:
ProductId ProductName Price ---------- ----------- ---------- 5 Red Widget 3 Widget Open 89.27 4 Foobar Set 120.0 2 Widget Hold 139.5 1 Blue Widget 389.45
Perhatikan bahwa baris pertama memiliki nilai NULL untuk harganya. max()
fungsi mengabaikan itu, karena baris lain memiliki nilai non-NULL. Jika semua baris NULL, maka max()
akan mengembalikan NULL.
Saya menggunakan ORDER BY
klausa dalam contoh ini. Seperti disebutkan, max()
function mengembalikan nilai yang muncul terakhir saat menggunakan klausa ini (dengan asumsi Anda mengurutkan kolom dalam urutan menaik, yang merupakan default).
Untuk memperjelas, saya bisa menggunakan yang berikut ini untuk hasil yang sama:
SELECT * FROM Products
ORDER BY Price ASC;
Gabungkan Maks() dengan Hitungan()
Berikut adalah contoh yang menggabungkan max()
fungsi dengan count()
berfungsi untuk mengembalikan hitungan maksimum.
SELECT max(AlbumCount)
FROM (SELECT ArtistId, count(Title) AS AlbumCount
FROM Album
GROUP BY ArtistId);
Hasil:
21
Kami dapat memverifikasi ini dengan menjalankan kueri lain dengan ORDER BY
klausa.
SELECT
ar.Name,
count(al.Title) AS AlbumCount
FROM Album al
INNER JOIN Artist ar
ON ar.ArtistId = al.ArtistId
GROUP BY ar.Name
ORDER BY AlbumCount DESC
LIMIT 10;
Hasil:
Name AlbumCount -------------------- ---------- Iron Maiden 21 Led Zeppelin 14 Deep Purple 11 Metallica 10 U2 10 Ozzy Osbourne 6 Pearl Jam 5 Faith No More 4 Foo Fighters 4 Lost 4
Berurusan dengan Nilai NULL
Seperti yang disebutkan, jika tidak ada nilai non-NULL dalam grup (yaitu semua nilai adalah NULL), maka max()
mengembalikan NULL.
SELECT
max(123),
max(NULL);
Hasil:
max(123) max(NULL) ---------- ---------- 123
Menggunakan Max() pada String
Seperti yang disebutkan, max()
mengembalikan nilai yang akan dikembalikan terakhir menggunakan ORDER BY
klausa (dengan asumsi itu menggunakan urutan menaik default).
Konsep yang sama berlaku untuk string.
SELECT max(ProductName) FROM Products;
Hasil:
Widget Opener
Jadi itu tidak mengembalikan string dengan jumlah karakter maksimum atau semacamnya.
Kami dapat memverifikasi hasil ini dengan kueri menggunakan ORDER BY
klausa.
SELECT * FROM Products
ORDER BY ProductName;
Hasil:
ProductId ProductName Price ---------- --------------------- ---------- 1 Blue Widgets (6 Pack) 389.45 4 Foobar Set 120.0 5 Red Widget 2 Widget Holder 139.5 3 Widget Opener 89.27