SQL-Урок 3. Сортування даних (ORDER BY)

В майбутньому нам може знадобитися посортувати нашу вибірку - в алфавітному порядку для тексту чи по зростанню/спаданню - для цифрових значень. Для таких цілей в SQL є спеціальний оператор ORDER BY.

1. Сортування вибраних даних.

Давайте усю нашу таблицю посортуємо по сумі реалізації продукції, а саме по стовпцю Amount.

SELECT * FROM Sumproduct ORDER BY Amount

Бачимо, що запит посортував записи по зростанню в полі Amount. Обов'язково потрібно дотримуватись послідовності розташування операторів, тобто оператор ORDER BY має йти в самому кінці запиту. В іншому випадку буде отримане повідомлення про помилку.

Також, особливістю оператора ORDER BY є те, що він може сортувати дані по полю, якого ми не вибирали у запиті, тобто достатньо щоб воно взагалі було в БД.

2. Сортування за кількома полями.

Тепер посортуємо наш приклад додатково за ще одним полем. Нехай це буде поле City, яке відображає місце реалізації продукції.

SELECT * FROM Sumproduct ORDER BY Amount, City

Черговість сортування буде залежати від порядку розташування полів в запиті. Тобто, в нашому випадку спочатку дані будуть посортовані по колонці Amount, а потім по City.

3. Напрямок сортування.

Незважаючи на те, що по замовчуванню оператор ORDER BY сортує по зростанню, ми можемо також прописати сортування значень по спаданню. Для цього в кінці кожного поля проставляємо оператор DESC (що є скороченням від слова DESCENDING).

SELECT * FROM Sumproduct ORDER BY Amount DESC, City

В даному прикладі, значення в полі Amount були посортовані по спаданню, а в полі City - по зростанню. Оператор DESC застосовується лише для одного стовпця, тому при потребі його потрібно прописувати після кожного поля, яке приймає участь у сортуванні.

Статті по темі:

  • SQL-Урок 2. Вибірка даних (SELECT)
  • SQL-Урок 4. Фільтрування даних (WHERE)