Uso de DISTINCT en MYSQL (MariaDB)

Introducción

La clausula DISTINCT se utiliza en MySQL para seleccionar los registros únicos, o simplemente quitar duplicados en una consulta, solo mostrará los valores una sola vez, y no todas las veces que se muestren.

Buenas tardes queridos lectores, como bien dice la introducción, el día de hoy hablaremos sobre la clausula DISTINCT, esta clausula siempre se utilizará con el SELECT, y como les decía nos mostrará los valores únicos, omitiendo duplicados, pero basta ya de teoría, vamos a ir directamente a hacerlo, que es lo que nos gusta y lo que nos hace aprender, para eso consideremos el siguiente ejemplo;

Ejercicio 1

Realizar una consulta que obtenga los días que hubo partidos del torneo de Clausura MX 2016 utilizando la clausula DISTINCT

Primeramente consideremos ver las fechas de los partidos que hubo en ese torneo, esto lo haremos mediante la siguiente consulta

SELECT FECHA
FROM PARTIDOS
WHERE IDTORNEO = (SELECT IDTORNEO FROM TORNEOS WHERE NOMBRE = 'CLAUSURA 2016')

Al ejecutar esta consulta obtenemos el siguiente resultado:


Como ven, en este ejemplo, aparecen muchas fechas que se repiten, ¿pero porque?, porque estamos trayendo todos los registros de la tabla partidos, sin filtrar ningún dato, por lo cual, nos está mostrando las fechas de los partidos jugados, lo que queremos nosotros es que no se repitan las fechas, de manera que solo muestre una sola vez por ejemplo 2016-01-09, para esto tenemos dos opciones:

La primera es utilizando la clausula GROUP BY, y la otra es mediante la clausula DISTINCT. En este ejemplo veremos la clausula DISTINCT










SELECT DISTINCT(FECHA)
FROM PARTIDOS
WHERE IDTORNEO = (SELECT IDTORNEO FROM TORNEOS WHERE NOMBRE = 'CLAUSURA 2016')

Al ejecutar la consulta, obtenemos el siguiente resultado:

 
Como ven, la palabra DISTINCT dentro del SELECT nos obliga a mostrar únicamente los valores que no se repiten o que son distintos y entre paréntesis el campo que queremos mostrar sin duplicados, en este caso la fecha, como pueden observar, únicamente aparece una fecha única, y no una fecha por partido,














Ejercicio 2
Realizar una consulta que obtenga los días que hubo partidos del torneo de Clausura MX 2016 utilizando la clausula GROUP BY

SELECT FECHA
FROM PARTIDOS
WHERE IDTORNEO = (SELECT IDTORNEO FROM TORNEOS WHERE NOMBRE = 'CLAUSURA 2016')
GROUP BY FECHA

Como pueden ver, esta consulta es idéntica a la anterior, ya habíamos visto con anterioridad en otros post el uso de la clausula ORDER BY, si no lo recuerdan les dejo el enlace


Hasta aquí el post queridos amigos, espero haya sido de su agrado y de su interés; espero compartan, comenten o den +1 en algún anuncio publicitario. Saludos













Limitar el numero de registros en una consulta en MySQL (Maria DB)

Para limitar el numero de registros en una consulta, se utilizará la clausula LIMIT, mediante esta clausula, vamos a controlar el número de resultados devueltos en la mima.

Clonar o Copiar tablas en MySQL (MariaDB)

Para copiar tablas en MySQL tenemos dos opciones, podemos copiar solo la estructura o solo los datos, o podemos combinar ambos métodos para copiar estructura y datos, aquí les voy a decir como.

Indices en Base de Datos en MySQL (MariaDB)

Buenas noches queridos lectores, el día de hoy veremos como crear índices en base de datos, para eso debemos saber que es un índice, de manera general, y ya después haremos lo que nos gusta e interesa que es crear el índice. Como les comentaba veamos que es un índice en base de datos (BD).

Segun la Wikipedia, un índice es:


Lista o relación ordenada con algún criterio de libros, documentos, monedas, objetos en venta, etc., de una persona, empresa o institución, que generalmente contiene una breve descripción del objeto relacionado y ciertos datos de interés.

Esa definición es la de un índice en general, el índice en una base de datos es algo similar, nos permite realizar consultas de una manera más rápida y funcional. Vemos la definición de Wikipedia de Índices en Base de Datos


El índice de una base de datos es una estructura de datos que mejora la velocidad de las operaciones, por medio de identificador único de cada fila de una tabla, permitiendo un rápido acceso a los registros de una tabla en una base de datos.

Featured Post

Todas los SQL SERVER desde 2008 hasta 2019

 Buenas noches queridos lectores, el día de hoy les traigo un nuevo post con las versiones Developer  de SQL SERVER desde 2008 hasta 2019, s...