Limitar los resultados de la consulta con LIMIT
En SQL, el comando LIMIT sirve para limitar la cantidad de datos que se muestran en los resultados de la consulta. LIMIT es especialmente útil cuando solo queremos recuperar una cierta cantidad de datos de una tabla, como mostrar una muestra o solo los primeros datos de un resultado de consulta grande.
LIMIT se utiliza mencionando la cantidad deseada de datos después de la palabra clave. Cuando LIMIT va seguido de un solo número, MySQL recuperará varias filas de datos que van desde la primera fila hasta el número especificado.
En el ejemplo siguiente se muestra cómo usar LIMIT para recuperar los primeros 5 datos de la columna prod_name de la tabla products:
SELECT prod_name FROM products LIMIT 5;
A continuación, el resultado de esta consulta solo mostrará las primeras 5 filas:
| prod_name |
|---------------|
| 0.5 ton anvil |
| 1 ton anvil |
| 2 ton anvil |
| Oil can |
| Fuses |
Otros artículos interesantes
Uso de LIMIT y OFFSET en la captura de datos
Podemos limitar el número de filas recuperadas y también determinar de qué filas se recuperan los datos mediante el uso de OFFSET. En MySQL, OFFSET se escribe junto con LIMIT para determinar el punto de partida de la recuperación de datos. Ejemplos:
SELECT prod_name FROM products LIMIT 5 OFFSET 5;
Esta consulta recuperará 5 filas de datos, empezando por la 6ª fila.
También hay otras formas de escribir LIMIT OFFSET usando dos números después de LIMIT, como:
SELECT prod_name FROM products LIMIT 5, 5;
Esta escritura tiene el mismo significado, que es tomar 5 líneas comenzando desde la 6ª fila, donde el primer número (5) es OFFSET y el segundo número (5) es la cantidad de datos a tomar.
Beneficios de LIMIT y OFFSET
- LIMIT sin OFFSET nos facilita la recuperación de algunos datos iniciales de los resultados de la consulta.
- La combinación de LIMIT y OFFSET es particularmente útil para la configuración de datos en la aplicación, como las vistas de página (*paginación*), donde cada página requiere la misma cantidad de datos, pero comienza desde diferentes posiciones.
Captura de datos únicos con DISTINCT
En SQL, DISTINCT comandos se utilizan en el SELECT Statement para obtener datos sin duplicación. Si hay los mismos datos en una columna y solo queremos mostrar valores diferentes, DISTINCT asegura de que cada valor aparezca una vez en los resultados de la consulta.
DISTINCT se coloca después de la palabra clave SELECT y antes del nombre de la columna que desea recuperar. Este comando le dice a MySQL que muestre solo los datos únicos de esa columna y elimine las filas que tienen el mismo valor.
La sintaxis para usar DISTINCT es la siguiente:
SELECT DISTINCT column_name FROM table_name;
- DISTINCT: indica a SQL que muestre valores únicos en las columnas especificadas.
- column_name: el nombre de la columna de la que desea recuperar datos de forma única.
- FROM: indica la tabla de la que se originaron los datos.
Por ejemplo, queremos obtener datos únicos de las vend_id columnas de la tabla products. Sin usar DISTINCT, si hay varios productos del mismo proveedor, cada ID de proveedor aparecerá varias veces en los resultados de la consulta. Con DISTINCT, podemos asegurarnos de que los resultados solo muestren una vez el ID de cada proveedor.
Algunos ejemplos son los siguientes:
SELECT DISTINCT vend_id FROM products;
Si la tabla de productos tiene datos como este:
| vend_id |
|---------|
| 1001 |
| 1001 |
| 1002 |
| 1003 |
| 1003 |
| 1003 |
| 1004 |
Los resultados de la consulta solo mostrarán el ID de proveedor único, por lo que se verá así:
| vend_id |
|---------|
| 1001 |
| 1002 |
| 1003 |
| 1004 |
Notas importantes
- DISTINCT se aplica a la combinación de columnas seleccionadas en la consulta. Si se utiliza más de una columna con DISTINCT, SQL se asegurará de que la combinación de columnas sea única.
- DISTINCT solo quita los duplicados de las columnas especificadas y no afecta a otras columnas de la tabla.