двойная сортировка — вроде как — в sql

#sql #sql-server

#sql #sql-сервер

Вопрос:

У меня есть база данных. В нем есть два столбца. Допустим, один столбец — «Country», а другой столбец — «City».

Теперь можно запросить базу данных и завершить запрос «упорядочить по стране», а результат будет таким, что строки будут отсортированы в алфавитном порядке по странам.

Но что, если бы я хотел, чтобы они были в первую очередь отсортированы по названию страны, а затем со строками для каждой страны выходные данные сортируются вторично по названию города. Как бы выглядел этот запрос?

в качестве теста я открыл sql Server и в конце запроса select top 1000 добавил «порядок по стране», и синтаксической ошибки не было. Но если я добавлю «порядок по стране, порядок по городу», ему это не понравится. Добавление запятой не помогает. Добавление «и» также не помогает.

Ответ №1:

Вы можете упорядочить несколько столбцов, разделив их запятой:

 order by Country, City
  

Комментарии:

1. Вы также можете указать направление для каждого столбца. Например: ‘УПОРЯДОЧИТЬ ПО стране, городскому описанию

Ответ №2:

Попробуйте следующее

 Order By Country, City
  

Ответ №3:

Вы можете указать более одного столбца для упорядочивания. Просто разделите их с помощью , .

 SELECT * FROM my_table ORDER BY Country, City;
  

Ответ №4:

Достаточно разделить их запятой ,

 SELECT * FROM Table ORDER BY Country, City