Classificação de linhas (Visual Database Tools)
Você pode classificar linhas em um resultado de consulta. Isto é, você pode nomear uma coluna particular ou conjunto de colunas cujos valores determinam a classificação das linhas no conjunto de resultados.
Observação |
---|
A ordem de classificação é determinada em parte pela seqüência de agrupamento da coluna. Você pode alterar a seqüência de agrupamento na caixa de diálogo Agrupamento. |
Existem vários modos onde você pode classificar resultados de consulta:
Você pode organizar linhas em ordem crescente ou decrescente Por padrão, o SQL usa colunas classificar por para organizar linhas em ordem crescente. Por exemplo, para organizar os títulos de livros por preço crescente, simplesmente classifique 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 você quiser organizar os títulos com os livros mais caros primeiro, você poderá especificar expressamente uma classificação de primeiro os mais caros. Isto é, você indica se as linhas de resultado devem ser organizadas pelos valores decrescentes da coluna de preço. O SQL resultante pode ter esta aparência:
SELECT * FROM titles ORDER BY price DESC
Você pode fazer a classificação por várias colunas. Por exemplo, você pode criar um conjunto de resultados com uma linha para cada autor, classificando primeiro por estado e, em seguida, por cidade. O SQL resultante pode ter esta aparência:
SELECT * FROM authors ORDER BY state, city
Você 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 se os preços não aparecerem. 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 onde cada linha contenha um título de livro – com os livros que pagam royalty mais alto 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 royalty que cada livro ganha por cópia está destacada.)
Para calcular uma coluna derivada, você pode usar 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 onde cada linha descreve uma cidade, mais o número de autores naquela cidade – com as cidades contendo muitos autores que aparecem primeiro. O SQL resultante pode ter esta aparência:
SELECT city, state, COUNT(*) FROM authors GROUP BY city, state ORDER BY COUNT(*) DESC, state
Observe que a consulta usa state como uma coluna de classificação secundária. Assim, se dois estados tiverem o mesmo número de autores, esses estados aparecerão em ordem alfabética.
Você pode classificar usando dados internacionais. Isto é, você pode classificar uma coluna usando convenções de exame que diferem das convenções padrão daquela coluna. Por exemplo, você pode escrever uma consulta que recupera todos os títulos de livro de Jaime Patiño. Para exibir os títulos em ordem alfabética, você usa uma seqüência de exame 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
Consulte também