awilum.ru
Статьи Курсы Об авторе

Сортировка данных

Курсы / SQL Базовый уровень / Основы

Оператор ORDER BY позволяет сортировать данные в результирующей таблице.

Этот оператор используется в запросе SELECT для определения порядка сортировки результирующего набора данных.

Синтаксис для сортировки данных в SQL такой:

SELECT column1,
	   column2,
       ...
   FROM table_name
ORDER BY column1 [ASC|DESC],
		column2 [ASC|DESC], 
		...;

column1, column2, ... - это имена столбцов, которые нужно отсортировать. Вы можете указать несколько столбцов для сортировки, разделяя их запятыми.

ASC  — это ключевое слово, которое означает "по возрастанию" и является значением по умолчанию, если вы не укажете другое.
DESC — это ключевое слово, которое означает "по убыванию".

 

Таблица movies

id title release_year genre rating
1 The Shawshank Redemption 1994 Drama 9
2 The Godfather 1972 Crime 9
3 The Godfather: Part II 1974 Crime 9
4 The Dark Knight 2008 Action 9
5 12 Angry Men 1957 Drama 8
6 Schindlers List 1993 Biography 8
7 Pulp Fiction 1994 Crime 8
8 The Lord of the Rings: The Return of the King 2003 Adventure 8
9 Fight Club 1999 Drama 8
10 The Good, the Bad and the Ugly 1966 Western 8

 

Например, если мы хотим отсортировать фильмы по году выпуска в порядке возрастания, мы можем использовать следующий запрос:

SELECT *
  FROM movies
 ORDER BY release_year ASC;

Результат

id title release_year genre rating
5 12 Angry Men 1957 Drama 8
10 The Good, the Bad and the Ugly 1966 Western 8
2 The Godfather 1972 Crime 9
3 The Godfather: Part II 1974 Crime 9
6 Schindlers List 1993 Biography 8
1 The Shawshank Redemption 1994 Drama 9
7 Pulp Fiction 1994 Crime 8
9 Fight Club 1999 Drama 8
8 The Lord of the Rings: The Return of the King 2003 Adventure 8
4 The Dark Knight 2008 Action 9

 

Если мы хотим отсортировать фильмы по рейтингу в порядке убывания, мы можем использовать следующий запрос:

SELECT *
  FROM movies
 ORDER BY rating DESC;

Результат

id title release_year genre rating
1 The Shawshank Redemption 1994 Drama 9
2 The Godfather 1972 Crime 9
3 The Godfather: Part II 1974 Crime 9
4 The Dark Knight 2008 Action 9
5 12 Angry Men 1957 Drama 8
6 Schindlers List 1993 Biography 8
7 Pulp Fiction 1994 Crime 8
8 The Lord of the Rings: The Return of the King 2003 Adventure 8
9 Fight Club 1999 Drama 8
10 The Good, the Bad and the Ugly 1966 Western 8

 

Если мы хотим отсортировать фильмы по жанру в алфавитном порядке и по году выпуска в порядке убывания, мы можем использовать следующий запрос:

SELECT *
  FROM movies
 ORDER BY genre ASC,
	      release_year DESC;

Здесь, сначала будут отсортированы фильмы по жанру в алфавитном порядке, затем внутри каждого жанра фильмы будут отсортированы по году выпуска в порядке убывания.

Результат

id title release_year genre rating
4 The Dark Knight 2008 Action 9
8 The Lord of the Rings: The Return of the King 2003 Adventure 8
6 Schindlers List 1993 Biography 8
7 Pulp Fiction 1994 Crime 8
3 The Godfather: Part II 1974 Crime 9
2 The Godfather 1972 Crime 9
9 Fight Club 1999 Drama 8
1 The Shawshank Redemption 1994 Drama 9
5 12 Angry Men 1957 Drama 8
10 The Good, the Bad and the Ugly 1966 Western 8
Выборка данных Фильтрация данных
Записаться на курс