От автора: этим уроком мы откроем новую тему для нашего сайта — цикл уроков, в которых мы будем учиться писать SQL запросы и решать распространенные повседневные задачи, с которыми вы можете столкнуться при работе с MySQL. Из этого урока вы узнаете, как получить максимальное значение.
С задачей, которую мы поставили для текущего урока — как получить максимальное значение — мы можем сталкиваться часто. Например, у нас есть интернет магазин и необходимо получить самый дорогой товар каталога и всю информацию о нем. Или необходимо получить, скажем, ТОП-10 самых дорогих товаров. Или выбрать наиболее дорогие товары определенной категории. Или, наоборот, получить минимальные значения и всю информацию, связанную с ними.
Согласитесь, это тот круг задач и вопросов, которые действительно могут встречаться сплошь и рядом. Для данного урока мы воспользуемся тестовой базой данных world, которую можно скачать с официального сайта (//dev.mysql.com/doc/index-other.html) или можете взять из исходников.
В этом уроке мы напишем несколько запросов SQL, в которых решим задачи, озвученные выше. Единственное, вместо товаров у нас будут страны и города, а вместо цен — их население.
Итак, вот эти запросы с комментариями:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
-- максимальное кол-во населения в каком-то городе 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 |
На этом текущий урок завершен. Удачи и до новых встреч!