Top cláusula en sql server con ejemplos

en características sql1

La mayoría de las veces en la vida real, que tratan de encontrar las tres puntuaciones más altas en una clase, los cinco primeros corredores en un maratón, o las 10 principales metas del mes. SQL Server tiene una función para seleccionar el TOP n registros de una tabla.

Podemos recuperar el TOP n registros de una tabla sin necesidad de utilizar una cláusula WHERE. TOP también se puede utilizar con las instrucciones DML como la actualización y eliminación. La mayoría de las veces, superior se utiliza con una cláusula ORDER BY para ordenar los resultados por primera vez en orden ascendente o descendente y luego a buscar a los N primeros registros. Una cláusula ORDER BY con TOP se asegura de que hemos clasificado los datos de una tabla.

TOP se utiliza como un limitador de fila en el servidor SQL al igual LIMIT en MySQL.

Vamos a echar un vistazo a un ejemplo de arriba se utiliza en una mesa.

Crear tabla SSCResults (Id INT IDENTIDAD (1,1) PRIMARY KEY, nombre VARCHAR (100), puntuación numérica (18,2)) - INSERT INTO SSCResults VALUES ( `A` Shailesh, 98.0) -INSERT EN SSCResults VALUES ( `Atul K `, 90.0) -INSERT EN SSCResults VALUES (` p `Vishal, 89.0) -INSERT EN SSCResults VALUES (` Naryan N `, 88.0) -INSERT EN SSCResults VALUES (` Rohit G `, 88.0) -INSERT EN VALORES SSCResults ( `Varsha K`, 85.0) -INSERT EN SSCResults VALUES ( `Sangram K`, 83.0) -INSERT EN SSCResults VALUES ( `Vish K`, 79.0): seleccione * de SSCResults-


SQL_Server_Top_Clause_Screenshot1

Ejemplo 1 - Selección de TOP N registros en SQL Server: Encuentra los tres máximos goleadores de una mesa SSCResults

Una manera rápida de encontrar esto es para ordenar la columna de la puntuación en orden descendente y seleccionar los tres mejores registros.

TOP SELECT * FROM 3 SSCResultsORDER POR DESC Puntuación


La consulta anterior se ha ordenado el campo de puntuación de la puntuación más alta a la más baja puntuación en primer lugar, y luego se ha seleccionado los tres mejores puntuaciones. SELECT * indica que queremos recuperar todas las columnas de la tabla SSCResults.

SQL_Server_Top_Clause_Screenshot2

Ejemplo 2 - Cubrir con la corbata: Tratar con valores empatados

Cuando consultamos la tabla SSCResults, vemos Id = 4 y Id = 5 tienen la misma puntuación. En este caso, si voy en busca de los cuatro mejores registros de la tabla SSCResults sobre la base de la columna de la puntuación, Id = 5 podría no aparecer en la lista debido a que la condición Top 4 registros no está configurado para manejar un escenario de empate.

Vamos a consultar los cuatro primeros registros de la tabla SSCResults.

TOP 4 SELECT * FROM SSCResults


No vimos que Id = 5 tiene la misma puntuación que Id = 4 en los resultados anteriores porque no manejamos un escenario de empate. Para obtener el Id = 5 registro, tenemos que utilizar TOP con los lazos.

TOP 4 SELECT * FROM con los lazos SSCResultsORDER POR DESC Puntuación


SQL_Server_Top_Clause_With_Ties_Screenshot3

Top Noel con update y delete

Ejemplo 3 - Actualización Top 3 registros en una tabla: Modificar los tres primeros registros de una tabla

Vamos a actualizar la puntuación de los 3 mejores goleadores en un 0,5 por ciento.

No podemos usar Orden directamente con una instrucción de actualización. Tenemos que utilizar una subconsulta para seleccionar los tres mejores registros y luego actualizar.

actualizar SSCResultssetScore = Score + 0.5where Identificación de (seleccione la parte superior 3 idFrom SSCResultsorder por desc puntuación) -


La consulta anterior se ejecutará la primera sub consulta para seleccionar los tres mejores IDS (tres mejores goleadores), y luego se actualizará sus resultados mediante la adición de 0,5 por ciento.

seleccionar * de SSCResultsorder por desc puntuación


Podemos ver que los porcentajes de los tres mejores puntuaciones "se han actualizado un 0,5 por ciento.

Ejemplo 4 - Eliminación de los 3 mejores registros en una tabla: Eliminar las tres puntuaciones más bajas de la tabla

CANCELACIÓN de SSCResultswhere Identificación de (seleccione la parte superior 3 idFrom SSCResultsorder por ASC puntuación) -


En primer lugar, la subconsulta obtendrá los resultados más bajos de los SSCResults de mesa, y una consulta externa será eliminar estos registros basado en el ID producido por la subconsulta.

SQL_Server_Top_Clause_Delete


» » Top cláusula en sql server con ejemplos