Резюме :в този урок ще научите как да използвате 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
функция за намиране на максималната стойност в група от стойности.