-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathORDER BY_DESC.sql
29 lines (19 loc) · 1.8 KB
/
ORDER BY_DESC.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# ORDER BY - cортируем таблицу по столбцу 'students_count' от меньшего к большему, в данном случае
# ASC или сортировка по возрастанию применена по умолчанию
select * from my_base.courses order by students_count;
# Сортируем таблицу по столбцу 'name'
select id, name from my_base.courses order by name;
# Выбираем id, name из таблицы courses и сортируем таблицу по столбцу 'name',
# но в обратном порядке, т.е. от большего к меньшему применив 'DESC'
# и фильтруем по длинне строки имени - более 20 символов.
select id, name from my_base.courses where length(name) > 20 order by name desc;
# В данном случае идет сортировка по ID в ASC по умолчанию
select id, name from my_base.courses where length(name) > 20 order by id;
# Комбинационная сортировка по нескольким столбцамa:
# - прямо или от меньшего к большему по столбцу 'type',
# - от большего к меньшему по столбцу 'teacher_id'
# - снова прямо по столбцу 'students_count'.
#
# C начала идет сортировка по столбцу 'type', если там сортировать нечего (содержимое полей одинаковое),
# то сортируется столбец 'teacher_id' (если в нем есть одинаковые значения, то) наконец происходит сортировкак по 'students_count'
select * from my_base.courses order by type, teacher_id desc, students_count;