Obteniendo los primeros resultados en SQL Server
2009 Dec 26 • cotidiano
Nada muy complicado en principio: sólo utilizamos la cláusula TOP, seguida del número de resultados que queremos.
SELECT TOP 8 numero_factura, total FROM [facturas] ORDER BY total desc![]()
Esto nos arroja las primeras 8 facturas, comenzando con la que más valor tenga en “total”.
Pero ¿qué podemos hacer si tenemos más facturas con un total de “2400” (el último elemento de la tabla resultante) y queremos incluirlas? Sencillo, agregamos el argumento WITH TIES.
SELECT TOP 8 WITH TIES numero_factura, total FROM [facturas] ORDER BY total desc
La cláusula TOP también incluye el argumento PERCENT que nos permite seleccionar los elementos correpondientes a cierto porcentaje de la tabla. En este caso, facturas contiene 2724 registros.
SELECT TOP 8 PERCENT numero_factura, total FROM [facturas] ORDER BY total desc
La tabla resultante contiene 218 registros, correspondientes al 8% del total en la tabla.
Más información: