Перейти к содержанию

Сортировка и ограничение: ORDER BY и LIMIT

Программирование SQL Сложность 1/5

Начало урока

Сортировка и ограничение: ORDER BY и LIMIT

Расставьте строки в нужном порядке, а затем оставьте только те, что нужны

Главная мысль: Таблица хранит строки, но не обещает никакого порядка. ORDER BY позволяет отсортировать строки как вам угодно, а LIMIT — оставить только первые несколько. Вместе они отвечают на вопросы вроде «Кто три лучших игрока?»
К концу урока вы сможете:
  • сортировать строки с помощью ORDER BY — от меньшего к большему (ASC) или от большего к меньшему (DESC),
  • разрешать «ничьи», сортируя сразу по нескольким столбцам,
  • оставлять только несколько строк с помощью LIMIT,
  • пропускать строки с помощью OFFSET, чтобы строить страницы,
  • писать запрос «топ-N», чтобы найти лучшие или худшие строки.

1. Наш пример: таблица рекордов игры

Каждый пример этого урока использует одну маленькую таблицу под названием players. Это таблица рекордов видеоигры. Создадим её один раз, чтобы все представляли одни и те же данные.

CREATE TABLE players (
    id      INT,
    name    VARCHAR(20),
    score   INT,
    level   INT,
    country VARCHAR(15)
);

INSERT INTO players (id, name, score, level, country) VALUES
    (1, 'Aisha', 950, 7, 'Kenya'),
    (2, 'Bilal', 720, 5, 'Egypt'),
    (3, 'Chen',  950, 8, 'China'),
    (4, 'Diego', 610, 4, 'Peru'),
    (5, 'Elena', 880, 6, 'Spain'),
    (6, 'Farah', 720, 5, 'Iran'),
    (7, 'Grace', 1040, 9, 'Kenya'),
    (8, 'Hiro',  610, 4, 'Japan');

Если просто попросить всё, база данных вправе вернуть строки в любом порядке (часто в том, в каком они были сохранены):

SELECT name, score, level, country FROM players;
namescorelevelcountry
Aisha9507Kenya
Bilal7205Egypt
Chen9508China
Diego6104Peru
Elena8806Spain
Farah7205Iran
Grace10409Kenya
Hiro6104Japan

Это беспорядочная таблица рекордов! Никто не хочет видеть рейтинг не по порядку. Давайте это исправим.

Продолжите этот урок на YourAIZone

В полном уроке — объяснение целиком, разобранные примеры, частые ошибки, тесты с мгновенной проверкой и ИИ-репетитор. Начните сразу как гость или создайте аккаунт, чтобы сохранять прогресс.

В полном уроке

  • Объяснение целиком
  • Разобранные примеры
  • Частые ошибки и как их избежать
  • Тестовые вопросы: 15
  • ИИ-репетитор, который отвечает на вопросы по теме
  • Отслеживание прогресса для ученика, родителей и учителя