MySQL. Як отримати максимальне значення

32

Від автора: цим уроком ми відкриємо нову тему для нашого сайту — цикл уроків, в яких ми будемо вчитися писати SQL запити і вирішувати типові повсякденні завдання, з якими ви можете зіткнутися при роботі з MySQL. З цього уроку ви дізнаєтеся, як отримати максимальне значення.

MySQL. Як отримати максимальне значенняMySQL. Як отримати максимальне значення

З завданням, яке ми поставили для поточного уроку — як отримати максимальне значення — ми можемо зустрічатися часто. Наприклад, у нас є інтернет магазин і необхідно отримати найдорожчий товар каталогу і всю інформацію про нього. Або необхідно отримати, скажімо, ТОП-10 найдорожчих товарів. Або вибрати найбільш дорогі товари певної категорії. Або, навпаки, отримати мінімальні значення і всю інформацію, пов’язану з ними.

Погодьтеся, це те коло завдань та питань, які дійсно можуть зустрічатися часто-густо. Для даного уроку ми скористаємося тестової бази даних world, яку можна завантажити з офіційного сайту (https://dev.mysql.com/doc/index-other.html) або можете взяти з исходников.

У цьому уроці ми напишемо декілька запитів SQL, в яких вирішимо завдання, озвучені вище. Єдине, замість товарів у нас будуть країни і міста, а замість цін — їх населення.

Отже, ось ці запити з коментарями:

— максимальна кількість населення в якомусь місті
SELECT MAX(Population) FROM City
— вся інформація про місто з максимальною кількістю населення
SELECT * FROM City WHERE Population = (SELECT MAX(Population) FROM City)
— вся інформація про місто з мінімальною кількістю населення
SELECT * FROM City WHERE Population = (SELECT MIN(Population) FROM City)
— 10 міст з найбільшою кількістю населення
SELECT * FROM City ORDER BY Population DESC LIMIT 10
— код Китаю
SELECT Code FROM Country WHERE Name = ‘China’
— 10 міст Китаю з найбільшою кількістю населення
SELECT * FROM City WHERE CountryCode = (SELECT Code FROM Country WHERE Name = ‘China’) ORDER BY Population DESC LIMIT 10
— чисельність населення всіх країн
SELECT SUM(Population) FROM Country

На цьому поточний урок завершено. Удачі і до нових зустрічей!