01 noviembre 2010

¿Para qué sirve la función TOP en SQL Server 2005?



En el trabajo me mandaron hacer una vista (utilizando SQL Server 2005) y sin que yo escribiera nada que incitase a la aplicación a escribir TOP 100 PORCENT, el editor la escribia, y aún yo borrándola, volvía a ponerla. Preegunté a mis compañeros y estos me dijeron que buscase en Google, y así hice. Entonces encontré este enlace: Que es el TOP 100 PERCENT de SQL Server. Y ahí descubrí que TOP 100 PORCENT es una nueva funcionalidad que nos visualiza un porcentaje de columnas que cumplan la condición solicitada. Obviamente 100 nos visualizará todas, y 50 la mitad.


La sintaxis de la función TOP es:
SELECT TOP limite_de_filas FROM MyTable.
En este caso, con TOP hemos limitado a un número exacto el limite de filas que queremos que sean devueltas.

SELECT TOP limite_de_filas PERCENT * FROM MyTabla
En este caso, ya usando PERCENT, limitamos al el número de filas con un porcentaje como limite.

Lo malo es que ORDER BY y TOP son ligeramente incompatibles porque al combinar con PORCENT. Y para que su funcionamiento sea positivo uno tiene que hacer cosas como esta:

SELECT * FROM (SELECT TOP 99 PERCENT * FROM T ORDER BY col1) AS A


Para profundizar más vayan al enlace que meniono arriba.

No hay comentarios:

Publicar un comentario