DISTINTO en PostgreSQL: Seleccionar, Ordenar por y Límite (Ejemplos)
⚡ Resumen inteligente
DISTINTO en PostgreSQL Se utiliza con una instrucción SELECT para eliminar filas duplicadas y devolver solo valores únicos. Cubre la sintaxis de SELECT, la consola SQL y pgAdmin, DISTINCT en columnas individuales y múltiples, y la comparación entre DISTINCT y GROUP BY.

Puede recuperar datos de la tabla mediante una instrucción SELECT.
Sintaxis:
SELECT [column names] FROM [table_name]
Aquí,
- nombres de las columnas: Nombre de las columnas cuyo valor desea recuperar.
- DE: La cláusula FROM define una o más tablas de origen para la sentencia SELECT.
- nombre de la tabla: El nombre de una tabla existente que desea consultar.
¿Qué es DISTINCT en PostgreSQL?
El DISTINCT cláusula en PostgreSQL Se utiliza con una instrucción SELECT para eliminar filas duplicadas del conjunto de resultados. Cuando una columna contiene valores repetidos, SELECT DISTINCT devuelve solo los valores únicos, manteniendoping Una sola fila por cada grupo de duplicados. Esto resulta útil cuando se desea una lista de entradas distintas, como ciudades de clientes únicas o categorías de productos, sin repeticiones.
La función DISTINCT evalúa todas las columnas enumeradas en la instrucción SELECT para decidir si una fila es única. PostgreSQL También ofrece DISTINCT ON, que devuelve la primera fila para cada valor distinto de una expresión específica. Puede combinar DISTINCT con ORDER BY para controlar qué filas aparecen y con LIMIT para limitar el número de resultados.
PostgreSQL Seleccionar declaración en SQL Shell
Paso 1) Tenemos una tabla llamada “tutoriales” con dos columnas: “id” y “tutorial_name”. Vamos a consultarla. Usa la siguiente consulta para listar los datos de la tabla:
SELECT id,tutorial_name FROM tutorials;
NOTA: Utilice el comando \c para conectarse a la base de datos que contiene la tabla que desea consultar. En nuestro caso, estamos conectados a la base de datos guru99.
Paso 2) Si desea ver todas las columnas de una tabla específica, puede usar el comodín asterisco (*). Esto significa que se revisarán todas las posibilidades y, como resultado, se mostrarán todas las columnas.
SELECT * FROM tutorials;
Muestra todos los registros de la tabla de tutoriales.
Paso 3) Puede utilizar la cláusula ORDER para ordenar datos en una tabla según una columna en particular. La cláusula ORDER organiza los datos en orden de la A a la Z.
SELECT * FROM tutorials ORDER BY id;
Puede ordenar de Z a A usando "DESC" después de la declaración "ORDER BY".
SELECT * FROM tutorials ORDER BY id DESC;
Paso 4) La sentencia SELECT DISTINCT en PostgreSQL La cláusula se puede utilizar para eliminar filas duplicadas del resultado. Mantiene una fila para cada grupo de duplicados.
Syntax: SELECT DISTINCT column_1 FROM table_name;
Vamos a consultar Postgres Seleccionar valores de ID distintos de nuestros tutoriales de tabla usando consultas distintas en PostgreSQL:
SELECT DISTINCT(id) FROM tutorials;
Paso 5) Puede utilizar las opciones PostgreSQL Cláusula LIMIT para restringir el número de registros devueltos por la consulta SELECT.
SELECT * FROM tutorials LIMIT 4;
PostgreSQL Sentencia SELECT en pgAdmin
Paso 1) En el árbol de objetos:
- Haz clic derecho en la tabla.
- Seleccionar scripts.
- Haz clic en SELECCIONAR SCRIPT.
Paso 2) En el panel de la derecha:
- Modifique la consulta SELECT si es necesario.
- Haz clic en el icono del rayo.
- Observa el resultado.
DISTINCT en varias columnas
La cláusula SELECT DISTINCT también puede aplicarse a más de una columna. Cuando se enumeran varias columnas después de DISTINCT, PostgreSQL trata la combinación de esas columnas como una unidad y elimina las filas donde toda esa combinación está duplicada.
Syntax: SELECT DISTINCT column_1, column_2 FROM table_name;
Por ejemplo, para devolver las combinaciones únicas de tutorial_name e id de la tabla tutorials:
SELECT DISTINCT tutorial_name, id FROM tutorials;
En este caso, una fila se elimina solo cuando tanto el nombre del tutorial como el ID coinciden con otra fila. Si dos filas comparten el mismo nombre de tutorial pero tienen valores de ID diferentes, ambas se conservan, ya que la combinación sigue siendo única. Es importante recordar este comportamiento: DISTINCT no elimina los duplicados de una sola columna cuando se seleccionan varias; elimina los duplicados de todas las columnas seleccionadas a la vez.
DISTINCT vs GROUP BY en PostgreSQL
Tanto DISTINCT como GROUP BY pueden eliminar valores duplicados, pero cumplen funciones diferentes:
- DISTINCT Simplemente devuelve las filas únicas del resultado y es la mejor opción cuando solo necesitas una lista sin duplicados.
- GRUPO POR Agrupa filas que comparten un valor para que puedas aplicar funciones de agregación como CONTAR, SUMA o AVG a cada grupo.
Por ejemplo, las dos consultas siguientes devuelven los valores de ID únicos:
SELECT DISTINCT id FROM tutorials; SELECT id FROM tutorials GROUP BY id;
Utilice DISTINCT para obtener una lista simple de valores únicos y GROUP BY cuando también necesite un cálculo por grupo, como contar cuántos tutoriales comparten cada ID. En consultas sencillas, el planificador suele ofrecer un rendimiento similar para ambos métodos, pero GROUP BY es necesario siempre que se requiera agregación.
Hoja de trucos
SELECT [column names] FROM [table_name] [clause]
Estos son los distintos parámetros:
- nombres de las columnas: Nombre de las columnas cuyo valor desea recuperar.
- DE: La cláusula FROM define una o más tablas de origen para la sentencia SELECT.
- nombre de la tabla: El nombre de una tabla existente que desea consultar.
Varias cláusulas son:
| Comandos | Mareas Ideales para Lecciones |
|---|---|
| * | Recupera los registros de todas las filas de la tabla. |
| DISTINCT | DISTINTO en PostgreSQL Te ayuda a eliminar duplicados del resultado. |
| ORDEN POR | Ordena las filas según una columna. El orden de clasificación predeterminado es ascendente. Utilice la palabra clave DESC para ordenar en orden descendente. |
| LIMITE LAS | LÍMITE en PostgreSQL restringe el número de registros devueltos por la consulta. |








