Сортировка (ORDER BY)

Вы можете отсортировать результаты запроса выборки SELECT в порядке возрастания или убывания значений в определенном столбце (или поочередно в нескольких столбцах) при помощи SQL оператора ORDER BY

Вам необходимо указать названия столбца (или столбцов), по которым будет производиться сортировка. Для каждого столбца вы указываете порядок сортировки записей, добавляя ASC, если вы будете сортировать записи по возрастанию, или DESC - в случае сортировки по убыванию. В SQL, если иное не указано, по умолчанию применяется сортировка по возрастанию.

В данном примере мы осуществляем выборку из базы данных сотрудников employees. Нам нужно отобразить имя сотрудника, его оклад и возраст. Мы сортируем записи по имени (в порядке возрастания), а затем по окладу (в порядке убывания).

SELECT e.name, e.salary, e.age
FROM employees e
ORDER BY e.name ASC, c.salary DESC;

Так этот запрос выглядит в QueryDSL:
 
selectFrom(employees)
    .orderBy(employees.name.asc(), employees.salary.desc())
    .list(employees.name, employees.salary, employees.age);

В QueryDSL, вы указываете порядок сортировки, вызывая сортировщик asc() или desc() для каждого столбца в списке сортировки orderBy().