Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Você pode ordenar as linhas em um resultado de consulta. Ou seja, você pode nomear uma determinada coluna ou conjunto de colunas cujos valores determinam a ordem das linhas no conjunto de resultados.
Observação
A ordem de classificação é determinada em parte pela sequência de agrupamento da coluna. Você pode alterar a sequência de agrupamento na caixa de diálogo Agrupamento.
Há várias maneiras de classificar os resultados da consulta:
Você pode organizar as linhas em ordem crescente ou decrescente
Por padrão, o SQL usa colunas de ordenação para organizar as linhas em ordem crescente. Por exemplo, para organizar os títulos dos livros por preço crescente, basta classificar as linhas pela coluna de preço. O SQL resultante pode ter esta aparência:
SELECT * FROM titles ORDER BY price;Por outro lado, se quiser organizar os títulos com os livros mais caros primeiro, pode especificar explicitamente uma ordem decrescente. Ou seja, você indica que as linhas de resultado devem ser organizadas por valores decrescentes da coluna de preço. O SQL resultante pode ter esta aparência:
SELECT * FROM titles ORDER BY price DESC;Você pode classificar por várias colunas
Por exemplo, você pode criar um conjunto de resultados com uma linha para cada autor, ordenando primeiro por estado e depois por cidade. O SQL resultante pode ter esta aparência:
SELECT * FROM authors ORDER BY state, city;Você pode classificar por colunas que não aparecem no conjunto de resultados
Por exemplo, você pode criar um conjunto de resultados com os títulos mais caros primeiro, mesmo que os preços não apareçam. O SQL resultante pode ter esta aparência:
SELECT title_id, title FROM titles ORDER BY price DESC;Você pode classificar por colunas derivadas
Por exemplo, você pode criar um conjunto de resultados no qual cada linha contém um título de livro - com os livros que pagam o maior royalty por cópia aparecendo primeiro. O SQL resultante pode ter esta aparência:
SELECT title, price * royalty / 100 AS royalty_per_unit FROM titles ORDER BY royalty_per_unit DESC;(A fórmula para calcular os royalties que cada livro ganha por exemplar é enfatizada.)
Para calcular uma coluna derivada, você pode usar a sintaxe SQL, como no exemplo anterior, ou pode usar uma função definida pelo usuário que retorna um valor escalar. Para obter mais informações sobre funções definidas pelo usuário, consulte a documentação do SQL Server.
Você pode classificar linhas agrupadas
Por exemplo; Você pode criar um conjunto de resultados no qual cada linha descreve uma cidade, mais o número de autores nessa cidade - com as cidades contendo muitos autores aparecendo primeiro. O SQL resultante pode ter esta aparência:
SELECT city, state, COUNT(*) FROM authors GROUP BY city, state ORDER BY COUNT(*) DESC, state;A consulta usa
statecomo uma coluna de classificação secundária. Assim, se dois estados têm o mesmo número de autores, esses estados aparecem em ordem alfabética.Você pode classificar usando dados internacionais
Isso é; Você pode classificar uma coluna usando convenções de agrupamento que diferem das convenções padrão para essa coluna. Por exemplo, você pode escrever uma consulta que recupere todos os títulos de livros de Jaime Patiño. Para exibir os títulos em ordem alfabética, use uma sequência de agrupamento em espanhol para a coluna de título. O SQL resultante pode ter esta aparência:
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;