SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

Bagaimana SQLite Max() Bekerja

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     

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 3 Cara Mengganti NULL dengan “N/A” di SQLite

  2. SQLite - Perbarui Data

  3. Cara Membungkus Garis Panjang Teks dalam Hasil SQLite

  4. Bagaimana Typeof() Bekerja di SQLite

  5. Paket telah diposting 50 roti panggang. Tidak ditampilkan lagi