Удаление повторений и упорядочивание результатов Вопрос: Как сформировать упорядоченный список первых 10 фамилий в таблице участников клуба? В списке не должно быть повторений. Ожидаемый результат: surname Bader Baker Boothe Butters Coplin Crumpet Dare Farrell GUEST Genting Подсказка: Воспользуйтесь ключевыми словами DISTINCT, ORDER BY и LIMIT. Другие подсказки: Посмотреть подсказки Вы можете дважды кликнуть по каждой из панелей ожидаемого результата/Вашего ответа, чтобы быстро изменить их размер; Если Вам трудно запомнить схему базы данных, Вы можете оставить это всплывающее окно открытым, пока работаете над своим ответом; Не забывайте нажать кнопку Подсказка, если затрудняетесь ответить! Ответы и обсуждение: Посмотреть решение select distinct surname from cd.members order by surname limit 10; Объяснение решения В данном случае мы имеем дело с 3 новыми концептами, но они достаточно простые: Указание DISTINCT после SELECT убирает повторения из результата запроса. Обратите внимание, что это применимо к строкам: если строка A имеет несколько столбцов, строка B равна ей только в том случае, если значения во всех столбцах одинаковы. Не используйте DISTINCT как Вам вздумается — удаление дубликатов из больших запросов не бесплатно, поэтому делайте это только по мере необходимости; Указание ORDER BY (после операторов FROM и WHERE, около конца запроса) позволяет упорядочить результаты в столбец или в несколько столбцов (разделенных запятой); Ключевое слово LIMIT позволяет ограничить количество получаемых результатов. Это удобно для получения результатов по странице за раз и может быть объединено с ключевым словом OFFSET для получения следующих страниц. Это тот же подход, который используется и в MySQL, и он очень удобен - но, к сожалению, он немного сложнее, чем в других БД. ← Предыдущая статья Работа с датамиСледующая статья → Объединение результатов из нескольких запросов