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')
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')
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
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
No hay comentarios.:
Publicar un comentario