Consulta de valores distintos mysql

Consulta de valores distintos mysql
En la mayoría de las bases de datos, a menudo encontrará valores duplicados-excepto para claves primarias únicas. Por ejemplo, una base de datos puede contener una tabla de película con calificaciones similares, año de lanzamiento y otros valores similares.

Por lo tanto, para obtener una lista de valores únicos, como los diversos tipos de clasificaciones de películas, necesitamos obtener solo los valores únicos utilizando la palabra clave distinta MySQL.

Este tutorial repasará cómo usar la palabra clave distinta en consultas mysql para obtener resultados únicos.

Antes de comenzar, asumimos que tiene MySQL instalado en su sistema y puede realizar operaciones en las bases de datos.

Si necesita una base de datos de muestra para trabajar, considere la base de datos Sakila en el recurso que se proporciona a continuación:

https: // dev.mysql.com/doc/index-other.html

Uso básico

La sintaxis general para la cláusula distinta mysql es:

Seleccione distinto column_list de table_name;

Aquí, el column_list es el conjunto de columnas que desea recuperar separadas por comas. El nombre de la tabla es la tabla para seleccionar dichos valores.

Caso de uso de ejemplo

Vamos a ilustrar ahora cómo usar mysql distinto usando un ejemplo. Estamos utilizando la base de datos de muestra de Sakila para ilustración.

En la base de datos de Sakila, encontrará la tabla de actores, que contiene campos como se muestra en el comando a continuación:

Desc sakila.actor;

La salida que describe los campos de tabla se muestra a continuación:

mysql> Desc sakila.actor;
+-------------+-------------------+------+-----+
| Campo | Tipo | NULL | Clave |
+-------------+-------------------+------+-----+
| actor_id | SmallInt sin firmar | No | PRI |
| First_Name | Varchar (45) | No | |
| Last_Name | Varchar (45) | No | MUL |
| Last_Update | marca de tiempo | No | |
+-------------+-------------------+------+-----+

NOTA: He truncado esta tabla para mostrar solo información relevante.

Si seleccionamos los valores en la tabla y el orden de los actores con el primer nombre, las posibilidades son altas de que tengamos valores duplicados, como se muestra en la consulta a continuación:

Seleccione First_Name, Last_Name de Sakila.Orden del actor por primer_name límite 10;

Podemos ver en la salida que hay nombres duplicados como se muestra a continuación:

NOTA: Limitamos la salida a los 10 primeros valores ya que la tabla contiene información masiva. Siéntase libre de eliminar el límite y ver cuántos valores hay.

+------------+-------------+
| First_Name | Last_Name |
+------------+-------------+
| Adán | Tolva |
| Adán | Subvención |
| AL | Guirnalda |
| Alan | Dreyfuss |
| Albert | Nolte |
| Albert | Johansson |
| ALEC | Wayne |
| Angela | Witherspoon |
| Angela | Hudson |
| Angelina | Astaire |
+------------+-------------+
10 filas en el set (0.00 seg)

Usando la cláusula distinta en MySQL, podemos filtrar para obtener nombres únicos de la misma tabla que se muestra en la consulta a continuación:

Seleccione Distinto First_Name de Sakila.Orden del actor por primer_name límite 10;

Una vez que ejecutemos la consulta anterior, obtendremos una lista de nombres únicos.

mysql> seleccione distinto primero_name de sakila.Orden del actor por primer_name límite 10;
+------------+
| First_Name |
+------------+
| Adán |
| AL |
| Alan |
| Albert |
| ALEC |
| Angela |
| Angelina |
| Ana |
| Audrey |
| Bela |
+------------+
10 filas en el set (0.00 seg)

Caso de uso de ejemplo: funciones agregadas

También puede usar distinto dentro de una función agregada MySQL, como el recuento y la suma. Por ejemplo, para usar junto con el recuento de la consulta anterior, podemos hacer:

Seleccione Count (Distinto First_Name) de Sakila.actor donde last_name = "berry";
+----------------------------+
| Recuento (distinto primero_name) |
+----------------------------+
| 3 |
+----------------------------+
1 fila en el set (0.00 seg)

La consulta anterior nos da la cantidad de nombres de los distintos nombres de los nombres donde el último es Berry.

NOTA: Es bueno tener en cuenta que incluso los valores nulos son considerados duplicados por la cláusula distinta. Por lo tanto, si tiene múltiples valores nulos, solo se devolverá uno.

Conclusión

Como se ve en este tutorial, puede usar la cláusula distinta MySQL para obtener valores únicos de un campo de tabla que contiene valores duplicados.