Как выполнить сортировку данных по убыванию в SQL и распространенных языках программирования?

«Как выполнить сортировку данных по убыванию в SQL и распространенных языках программирования?» — вопрос из категории Базы данных и SQL, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Сортировка по убыванию выполняется с использованием ключевого слова DESC (descending) или параметра reverse=True.

SQL

Для сортировки результатов запроса по убыванию используется конструкция ORDER BY column_name DESC.

-- Сортировка пользователей по дате регистрации (сначала новые)
SELECT id, username, created_at
FROM users
ORDER BY created_at DESC;

-- Сортировка по нескольким полям: сначала по убыванию цены, затем по возрастанию имени
SELECT name, price
FROM products
ORDER BY price DESC, name ASC;

Python

Используйте функцию sorted() с параметром reverse=True или метод списка .sort().

# Создание нового отсортированного списка
numbers = [5, 2, 9, 1]
sorted_desc = sorted(numbers, reverse=True)  # [9, 5, 2, 1]

# Сортировка списка на месте
numbers.sort(reverse=True)  # Теперь numbers = [9, 5, 2, 1]

# Сортировка сложных объектов по ключу
users = [{'name': 'Alice', 'score': 95}, {'name': 'Bob', 'score': 87}]
sorted_users = sorted(users, key=lambda x: x['score'], reverse=True)

JavaScript

Используйте метод массива .sort() с компараторной функцией, возвращающей b - a для чисел.

const numbers = [5, 2, 9, 1];
// Сортировка по убыванию для чисел
numbers.sort((a, b) => b - a); // [9, 5, 2, 1]

// Для строк или объектов
const items = [{name: 'Item A', val: 3}, {name: 'Item B', val: 10}];
items.sort((a, b) => b.val - a.val);