Obteniendo los primeros resultados en SQL Server

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 descimage

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

imageLa 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

image

image

La tabla resultante contiene 218 registros, correspondientes al 8% del total en la tabla.

 

Más información:

MSDN, SQL Authority



Si puede, dígalo con groserías

formato: puedes usar <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>