Резюме :в този урок ще научите как да използвате SQLite MAX функция, за да получите максималната стойност на всички стойности в група.
Въведение в SQLite MAX функция
SQLite MAX функцията е агрегатна функция, която връща максималната стойност на всички стойности в група. Можете да използвате MAX функция за постигане на много неща.
Например, можете да използвате MAX функция за намиране на най-скъпите продукти, намиране на най-големия артикул в неговата група и т.н.
Следното илюстрира основния синтаксис на MAX функция.
MAX([ALL|DISTINCT] expression);Code language: SQL (Structured Query Language) (sql)
expression може да бъде колона на таблица или израз, който се състои от операнди, които са колоните, и оператори като +, * и т.н.
Има някои важни бележки относно MAX функция:
- Първо,
MAXфункцията игнорираNULLстойности. - Второ, за разлика от
COUNTфункция,DISTINCTКлаузата не е от значение заMAXфункция. - Трето, тъй като колона може да съхранява смесени типове данни, напр. цяло число, реално, текст, blob и
NULLв SQLite, когато сравнявате стойности, за да намерите максималната стойност,MAXфункцията използва правилата, споменати в урока за типове данни.
SQLite MAX примери за функции
Ще използваме tracks таблица в примерната база данни за демонстрацията.
За да получите най-голямата песен в байтове, прилагате MAX функция към bytes колона като следното изявление:
SELECT MAX(bytes) FROM tracks;Code language: SQL (Structured Query Language) (sql) Опитайте го
SQLite MAX функция в примера на подзаявка
За да получите пълната информация за най-голямата песен, използвате подзаявката, както следва:
SELECT
TrackId,
Name,
Bytes
FROM
tracks
WHERE
Bytes = (SELECT MAX(Bytes) FROM tracks);Code language: SQL (Structured Query Language) (sql) Опитайте го
Първо, вътрешната заявка връща най-високите байтове от всички тракове, използвайки MAX функция. След това външната заявка получава най-голямата песен, чийто размер е равен на най-големия размер, върнат от подзаявката.
SQLite MAX функция и GROUP BY пример за клауза
Можете да намерите най-голямата песен във всеки албум, като използвате MAX функция с клаузата GROUP BY.
Първо, GROUP BY клаузата групира песните в групи въз основа на албуми. След това MAX функцията връща най-големите песни за всяка група.
Вижте следната заявка:
SELECT
AlbumId,
MAX(bytes)
FROM
tracks
GROUP BY
AlbumId;Code language: SQL (Structured Query Language) (sql) Опитайте го
SQLite MAX функция и HAVING клауза
Можете да комбинирате MAX функция с клаузата HAVING за филтриране на групите въз основа на най-големите им стойности.
Например, за да намерите албумите и най-голямата им песен, където размерите на най-големите песни са по-големи от 6 MB (около ~ 6000000), използвате следното изявление:
SELECT
albumid,
max(bytes)
FROM
tracks
GROUP BY
albumid
HAVING MAX(bytes) > 6000000;Code language: SQL (Structured Query Language) (sql) Опитайте го
В този урок научихте как да използвате SQLite MAX функция за намиране на максималната стойност в група от стойности.