Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
применимо к:SQL Server
Вы можете упорядочить строки в результатах запроса. То есть можно назвать определенный столбец или набор столбцов, значения которых определяют порядок строк в результирующем наборе.
Заметка
Порядок сортировки определяется частично последовательностью сортировки столбца. Вы можете изменить последовательность сортировки в диалоговом окне сортировки.
Существует несколько способов сортировки результатов запроса:
Вы можете упорядочить строки по возрастанию или убыванию По умолчанию SQL использует столбцы order-by для упорядочивания строк в порядке возрастания. Например, чтобы упорядочить названия книги по возрастанию цены, просто сортируйте строки по столбцу цен. Результирующий SQL может выглядеть следующим образом:
SELECT * FROM titles ORDER BY price
С другой стороны, если вы хотите сначала упорядочить названия книг, начиная с самых дорогих, вы можете явно указать порядок от самого дорогого к самому дешевому. То есть вы указываете, что результирующих строк следует упорядочить по убыванию значений столбца цен. Результирующий SQL может выглядеть следующим образом:
SELECT * FROM titles ORDER BY price DESC
Можно сортировать по нескольким столбцам Например, можно создать результирующий набор с одной строкой для каждого автора, упорядочивая сначала по состоянию, а затем по городу. Результирующий SQL может выглядеть следующим образом:
SELECT * FROM authors ORDER BY state, city
Вы можете сортировать по столбцам, которые не отображаются в результирующем наборе. Например, можно создать результирующий набор, где сначала идут самые дорогие заголовки, даже если цены не отображаются. Результирующий SQL может выглядеть следующим образом:
SELECT title_id, title FROM titles ORDER BY price DESC
Вы можете сортировать по производным столбцам Например, можно создать набор результатов, в котором каждая строка содержит название книги, а книги, за которые платят наибольшие роялти за копию, появляются первыми. Результирующий SQL может выглядеть следующим образом:
SELECT title, price * royalty / 100 as royalty_per_unit FROM titles ORDER BY royalty_per_unit DESC
(Формула вычисления роялти, которую каждая книга зарабатывает на копию, подчеркивается.)
Для вычисления производного столбца можно использовать синтаксис SQL, как в предыдущем примере, или использовать определяемую пользователем функцию, возвращающую скалярное значение. Дополнительные сведения о определяемых пользователем функциях см. в документации по SQL Server.
Вы можете сортировать сгруппированные строки Например; Вы можете создать результирующий набор, в котором каждая строка описывает город, а также число авторов в этом городе — с городами, содержащими много авторов, которые появляются в первую очередь. Результирующий SQL может выглядеть следующим образом:
SELECT city, state, COUNT(*) FROM authors GROUP BY city, state ORDER BY COUNT(*) DESC, state
Обратите внимание, что запрос использует
state
в качестве дополнительного столбца сортировки. Таким образом, если два состояния имеют одинаковое число авторов, эти состояния будут отображаться в алфавитном порядке.Можно сортировать международные данные То есть; Столбец можно сортировать с помощью соглашений о сортировке, отличающихся от соглашений по умолчанию для этого столбца. Например, можно написать запрос, который извлекает все названия книги Jaime Patiño. Для отображения заголовков в алфавитном порядке используется последовательность сортировки испанского языка для столбца заголовка. Результирующий SQL может выглядеть следующим образом:
SELECT title FROM authors INNER JOIN titleauthor ON authors.au_id = titleauthor.au_id INNER JOIN titles ON titleauthor.title_id = titles.title_id WHERE au_fname = 'Jaime' AND au_lname = 'Patiño' ORDER BY title COLLATE SQL_Spanish_Pref_CP1_CI_AS
См. также
Результаты сортировки и группового запроса (визуальные инструменты базы данных)
Темы справки по проектированию запросов и представлений (визуальные инструменты для баз данных)