¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
Cómo usar SELECT DISTINCT en MySQL (ejemplos prácticos)
Portada » Cómo usar SELECT DISTINCT en MySQL (ejemplos prácticos)

Tiempo de lectura estimado: 4 minutos

Cómo usar la sentencia DISTINCT en MySQL (ejemplos prácticos)

Anuncios
Publicidad

En MySQL, la sentencia SELECT DISTINCT es una herramienta muy útil cuando queremos obtener solo los valores únicos de una columna, evitando duplicados en los resultados.

En esta guía aprenderás a usar DISTINCT con ejemplos prácticos. Veremos cómo funciona en consultas simples, cómo combinarlo con varias columnas y qué precauciones debes tener en cuenta al usarlo en bases de datos grandes.


¿Qué es SELECT DISTINCT en MySQL?

La sentencia SELECT DISTINCT se utiliza para devolver valores únicos en el resultado de una consulta. Es decir, elimina los registros duplicados en una columna o en un conjunto de columnas.

Ejemplo básico:

SELECT DISTINCT nombre FROM contabilidad;

En este caso, el comando devuelve una lista de nombres únicos de la tabla contabilidad.

  • SELECT → indica que queremos recuperar datos.
  • DISTINCT → elimina los valores repetidos.
  • FROM contabilidad → señala que los datos se obtienen de la tabla llamada contabilidad.

Insertar datos de prueba en la tabla

Para poder probar DISTINCT, primero necesitamos tener algunos valores duplicados en la tabla.

Ejemplo:

INSERT INTO contabilidad (nombre, apellidos, profesion, telefono, direccion) 
VALUES ('Alejandro', 'Sanchez', 'Arquitecto', '123456789', 'Calle Nueva');

Al añadir este registro, si ya existía otro alumno llamado "Alejandro", ahora tenemos un valor duplicado en la columna nombre.


Usar DISTINCT en una columna

Si solo queremos mostrar los nombres únicos de la tabla contabilidad:

SELECT DISTINCT nombre FROM contabilidad;

El resultado podría ser algo como:

+-----------+
| nombre    |
+-----------+
| Alejandro |
| Julia     |
| Gabriel   |
| Valeria   |
| Diego     |
| Mariana   |
| Jorge     |
| Lucia     |
+-----------+

De esta forma, aunque "Alejandro" aparezca varias veces en la tabla, solo se mostrará una vez en el resultado.


Usar DISTINCT en varias columnas

También podemos aplicar DISTINCT a más de una columna. En este caso, MySQL mostrará combinaciones únicas de esos valores.

Ejemplo:

SELECT DISTINCT nombre, apellidos FROM contabilidad;

Esto devolverá una lista de pares únicos de nombre + apellidos. Si hay dos registros con el mismo nombre pero distintos apellidos, ambos se mostrarán porque son combinaciones diferentes.


Ventajas y desventajas de usar DISTINCT

✅ Ventajas:

  • Elimina duplicados en los resultados.
  • Facilita la generación de reportes con datos limpios.
  • Muy útil en columnas como correos, nombres de productos o ciudades.

⚠️ Desventajas:

  • Puede consumir muchos recursos en tablas grandes, porque MySQL debe revisar todos los registros.
  • No siempre es la mejor opción: en algunos casos, un GROUP BY es más eficiente.

Cómo usar la sentencia DISTINCT en MySQL
Antes de usar sentencia DISTINCT, hemos creado una tabla en MySQL para terminar insertando los datos

Ejemplo práctico completo

  1. Insertamos valores duplicados en la tabla contabilidad.
  2. Ejecutamos la consulta con DISTINCT para obtener resultados únicos.
INSERT INTO contabilidad (nombre, apellidos, profesion, telefono, direccion) 
VALUES ('Lucia', 'Perez', 'Doctora', '987654321', 'Av. Central 12');
SELECT DISTINCT nombre FROM contabilidad;
SELECT DISTINCT nombre, apellidos FROM contabilidad;

Con estas sentencias, podemos ver cómo MySQL elimina duplicados en una o varias columnas.


Cómo usar la sentencia DISTINCT en MySQL

Buenas prácticas al usar DISTINCT

  • Usa DISTINCT solo cuando realmente necesites valores únicos.
  • En tablas con millones de registros, considera alternativas como GROUP BY.
  • Si buscas valores únicos en combinación de columnas, indica todas en el SELECT DISTINCT.
  • Para comprobar duplicados antes de eliminarlos, puedes usar:
SELECT nombre, COUNT(*) 
FROM contabilidad 
GROUP BY nombre 
HAVING COUNT(*) > 1;

Si te gustaría aprender a usar la sentencia SELECT DISTINCT en MySQL, continúa leyendo. Ya que vamos a enseñártelo con imágenes y también con un vídeo donde hemos realizado una restricción sobre la columna nombre. Como la tabla contabilidad no tiene valores duplicados, vamos a añadir uno nuevo para esta tarea.

Preguntas frecuentes (FAQ)

¿Qué hace la sentencia SELECT DISTINCT en MySQL?
Elimina los duplicados y devuelve solo los valores únicos de una columna o de un conjunto de columnas.

¿DISTINCT funciona en varias columnas?
Sí. Devuelve combinaciones únicas de los valores de esas columnas.

¿Es mejor usar DISTINCT o GROUP BY?
Depende: DISTINCT es más simple para eliminar duplicados, pero GROUP BY puede ser más eficiente si necesitas hacer cálculos adicionales.

¿DISTINCT afecta al rendimiento?
Sí, en tablas grandes puede ser costoso porque debe recorrer todos los registros.

Te puede interesar:


Seguir leyendo:

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

Deja un comentario

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
error: Content is protected !!
Scroll al inicio
Hablemos de informática
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.