Compartir vía


Ordenar filas (Visual Database Tools)

se aplica a:sql Server

Puede ordenar las filas en un resultado de consulta. Es decir, puede asignar un nombre a una columna o conjunto determinado de columnas cuyos valores determinan el orden de las filas del conjunto de resultados.

Nota

El criterio de ordenación se determina en parte por la secuencia de intercalación de la columna. Puede cambiar la secuencia de intercalación en el cuadro de diálogo de intercalación.

Hay varias maneras de ordenar los resultados de la consulta:

  • Puede organizar filas en orden ascendente o descendente De forma predeterminada, SQL usa columnas order-by para organizar filas en orden ascendente. Por ejemplo, para organizar los títulos del libro por un precio ascendente, simplemente ordene las filas por la columna price. El código SQL resultante podría tener este aspecto:

    SELECT *  
    FROM titles  
    ORDER BY price  
    

    Por otro lado, si desea organizar los títulos comenzando por los libros más caros, puede especificar explícitamente un orden de precio descendente. Es decir, se indica que las filas de resultados deben organizarse por valores descendentes de la columna precio. El código SQL resultante podría tener este aspecto:

    SELECT *  
    FROM titles  
    ORDER BY price DESC  
    
  • Puede ordenar por varias columnas Por ejemplo, puede crear un conjunto de resultados con una fila para cada autor, ordenar primero por estado y luego por ciudad. El código SQL resultante podría tener este aspecto:

    SELECT *  
    FROM authors   
    ORDER BY state, city  
    
  • Puede ordenar por columnas que no aparecen en el conjunto de resultados Por ejemplo, puede crear un conjunto de resultados con los títulos más caros primero, aunque los precios no aparezcan. El código SQL resultante podría tener este aspecto:

    SELECT title_id, title  
    FROM titles  
    ORDER BY price DESC  
    
  • Puede ordenar por columnas derivadas Por ejemplo, puede crear un conjunto de resultados en el que cada fila contiene un título de libro, con los libros que pagan la regalía más alta por copia que aparece primero. El código SQL resultante podría tener este aspecto:

    SELECT title, price * royalty / 100 as royalty_per_unit  
    FROM titles  
    ORDER BY royalty_per_unit DESC  
    

    (La fórmula para calcular la regalía que cada libro gana por copia se enfatiza).

    Para calcular una columna derivada, puede usar la sintaxis SQL, como en el ejemplo anterior, o bien puede usar una función definida por el usuario que devuelva un valor escalar. Para obtener más información sobre las funciones definidas por el usuario, consulte la documentación de SQL Server.

  • Puede ordenar filas agrupadas Por ejemplo; Puede crear un conjunto de resultados en el que cada fila describe una ciudad, además del número de autores de esa ciudad, con las ciudades que contienen muchos autores que aparecen primero. El código SQL resultante podría tener este aspecto:

    SELECT city, state, COUNT(*)  
    FROM authors  
    GROUP BY city, state  
    ORDER BY COUNT(*) DESC, state  
    

    Observe que la consulta usa state como una columna de ordenación secundaria. Por lo tanto, si dos estados tienen el mismo número de autores, esos estados aparecerán en orden alfabético.

  • Puede ordenar mediante datos internacionales Es decir; Puede ordenar una columna mediante convenciones de intercalación que difieren de las convenciones predeterminadas de esa columna. Por ejemplo, puede escribir una consulta que recupere todos los títulos del libro de Jaime Patiño. Para mostrar los títulos en orden alfabético, use una secuencia de intercalación en español para la columna de título. El código SQL resultante podría tener este aspecto:

    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 también

ordenar y agrupar resultados de consulta (Visual Database Tools)
Temas sobre cómo realizar consultas y vistas de diseño (Visual Database Tools)