Я пытаюсь сортировать по нескольким столбцам в SQL, и в разных направлениях. column1
будет отсортирован по убыванию и по column2
возрастанию.
Как я могу это сделать?
sql
sql-order-by
Сеньор рединольд фрэнсис
источник
источник
Ответы:
Это сортирует все
column1
сначала (по убыванию), а затемcolumn2
(по возрастанию, что по умолчанию), когдаcolumn1
поля для двух или более строк равны.источник
column1
сначала, а затем поcolumn2
каждому, когдаcolumn1
поля для двух строк равны.column2
а затем выполняет СТАБИЛЬНУЮ сортировкуcolumn1
. Это более понятно для людей, которые знают, что такое стабильная сортировка.В других ответах отсутствует конкретный пример, так что вот оно:
Учитывая следующие Человек таблицы:
Если вы выполните запрос ниже:
Набор результатов будет выглядеть так:
источник
1.Firstname asc, Lastname desc, yearOfBirst asc and 2.Firstname asc, Lastname desc, yearOfBirst desc
Есть ли способ, которым мы можем преодолеть это?FirstName, LastName
записей с отличными друг от другаYearOfBirth
источник
Порядок размещения нескольких столбцов зависит от соответствующих значений обоих столбцов: Вот мой пример таблицы, где два столбца имеют имена с алфавитами и числами, а значения в этих двух столбцах имеют порядки asc и desc .
Теперь я выполняю Order By в этих двух столбцах, выполнив следующую команду:
Теперь снова я вставляю новые значения в эти два столбца, где значение Alphabet в порядке ASC :
и столбцы в примере таблицы выглядят так. Теперь снова выполните ту же операцию:
Вы можете видеть, что значения в первом столбце расположены в порядке desc, но второй столбец не в порядке ASC.
источник
(g, 10),(g,12)
. Затем, запустив свой запрос по порядку, вы получите второй столбец какASC
заказ (это означаетg-10,g-11,g-12)
Вы можете использовать несколько заказов на несколько условий,
источник