Saltar al contenido principal
Documentos
Funciones de cadenaDesencadenaBases de datosFunciones JSONFunciones matemáticasFunciones de fechaÍndicesSintaxis básicaGestión de Tablas y Esquemas

PostgreSQL DISTINTO

La palabra clave `DISTINCT` en PostgreSQL se utiliza para devolver valores únicos de una columna o de una combinación de columnas, eliminando las entradas duplicadas. Suele utilizarse junto con la sentencia `SELECT` para garantizar que el conjunto de resultados sólo contiene registros distintos.

Utilización

La palabra clave `DISTINCT` se emplea cuando necesitas eliminar filas duplicadas de los resultados de tu consulta. Sigue a la palabra clave `SELECT` y se aplica a las columnas especificadas a continuación.

SELECT DISTINCT column1, column2, ...
FROM table_name;

En esta sintaxis, `DISTINCT` garantiza que la combinación de `columna1`, `columna2`, etc., es única en el conjunto de resultados.

Ejemplos

1. Valores Básicos Únicos

SELECT DISTINCT country
FROM customers;

Este ejemplo recupera una lista de países únicos de la tabla `clientes`, eliminando las entradas duplicadas. Ten en cuenta que los valores `NULL` se tratan como entradas distintas.

2. Combinaciones únicas

SELECT DISTINCT first_name, last_name
FROM employees;

En este caso, la consulta devuelve combinaciones únicas de "nombre" y "apellido" de la tabla "empleados".

3. Utilizar DISTINCT con ORDER BY

SELECT DISTINCT category
FROM products
ORDER BY category ASC;

Este ejemplo recupera distintas categorías de productos y las ordena alfabéticamente.

4. Utilización con DISTINCT ON

SELECT DISTINCT ON (column1) column1, column2
FROM table_name
ORDER BY column1, column2;

En PostgreSQL, `DISTINCT ON` te permite seleccionar filas distintas basándote en columnas concretas, lo que puede ser útil para escenarios más complejos.

Consejos y buenas prácticas

  • Utilízalo con prudencia con grandes conjuntos de datos. `DISTINCT` puede consumir muchos recursos debido a las operaciones de ordenación y comparación que implica, así que utilízalo con criterio para evitar problemas de rendimiento.
  • Combínalo con `ORDENAR POR`. Empareja `DISTINTO` con `ORDENAR POR` para ordenar los resultados únicos según sea necesario.
  • Limita las columnas siempre que sea posible. Aplica `DISTINCT` al menor número de columnas para reducir la complejidad y el tiempo de ejecución.
  • Comprueba la unicidad necesaria. Asegúrate de que el uso de `DISTINCT` es realmente necesario para tu consulta específica, para evitar sobrecargas innecesarias.