Seleccionar valores únicos en MySQL
En este tutorial, nuestro objetivo es comprender cómo encontrar valores únicos en una base de datos MySQL.
MySQL nos proporciona una declaración útil para encontrar el número total de valores distintos o diferentes de una columna particular de una tabla específica. Esta sentencia es el SELECT DISTINCT
.
Esto es generalmente utilizado por negocios y empresas para encontrar la lista o el recuento de diferentes usuarios o clientes en su base de datos. Veamos este método en acción.
Sin embargo, primero, creemos un conjunto de datos ficticio.
-- create the table student_details
CREATE TABLE student_details(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_lastName varchar(255) DEFAULT NULL,
primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName)
VALUES(1,"Preet","Sanghavi"),
(2,"Rich","John"),
(3,"Veron","Brow"),
(4,"Preet","Jos"),
(5,"Hash","Shah"),
(6,"Sachin","Parker"),
(7,"David","Miller");
Use SELECT DISTINCT
para seleccionar valores únicos en MySQL
La declaración SELECT DISTINCT
en MySQL nos ayuda a obtener valores únicos en una tabla en particular. La sintaxis básica de la sentencia SELECT DISTINCT
es la siguiente.
SELECT DISTINCT column_name
FROM name_of_the_table;
El código mencionado devuelve las distintas entradas de la columna column_name
que pueden o no tener entradas duplicadas.
Busquemos a todos los estudiantes de la tabla student_details
con nombres distintos. La columna asociada con los valores de los nombres de los estudiantes es stu_firstName
.
Usemos SELECT DISTINCT
para realizar esta tarea. Podemos utilizar la siguiente consulta para obtener los valores de nombre diferentes o únicos de la tabla student_details
.
SELECT DISTINCT stu_firstName
FROM student_details;
El resultado de la consulta antes mencionada es el siguiente.
stu_firstName
Preet
Rich
Veron
Hash
Sachin
David
Como se ve en el bloque de código anterior, solo tenemos seis nombres únicos de las siete filas agregadas en nuestra tabla student_details
. Así, la salida solo tiene seis nombres ya que Preet
se repite dos veces en nuestra columna stu_firstName
.
Podemos usar la siguiente sintaxis si solo deseamos encontrar el número total de valores únicos.
SELECT COUNT(DISTINCT(column_name))
from name_of_the_table
En nuestro caso, podemos usar la siguiente consulta para encontrar el número de nombres únicos de los estudiantes de la columna stu_firstName
.
SELECT COUNT(DISTINCT(stu_firstName)) as total_unique_first_names
from student_details
La salida del bloque de código antes mencionado es la siguiente.
total_unique_first_names
6
Por lo tanto, con la ayuda de la declaración SELECT DISTINCT
, podemos encontrar de manera eficiente el número total de entradas diferentes o recuperar todos los valores únicos de una columna en particular de una tabla en MySQL.