[MySQL] Consultadas agrupadas: GROUP BY (Vs) DISTINCT


La clasula GROUP BY nos permite 'agrupar' los resultados de una columna que sean iguales usando las funciones de agregación (COUNT, MAX, MIN, SUM, AVG)
La clausula 'DISTINCT' nos permite 'agrupar' los resultados de una columna que sean iguales


Por ejemplo, tomando una tabla 'inventario' que contiene una columna llamada 'idEstadoInventario'
La cual en varios registros lleva valores como 1, 2 ó 3, étc:

  • GROUP BY necesariamente funciona como un complemento de sumar, contar, obtener máximo ó mínimo, promediar, étc
    • Puedo sumar los valores que agrupo por el valor inicial
    • Puedo contar la cantidad de registros 1, 2 y 3
    • Puedo promediar, obtener el maximo y minimo aunque carece de sentido porque el promedio y el maximo o minimo son los mismo valores de 1, 2 y 3
  • DISTINCT buscará entre todos los registros y seleccioná la primera ocurrencia pero obviará las que sean iguales.


Por otra parte el uso de GROUP BY en si mismo:
  • Al usar una funcion de agregacion, se hará por el total de los resultados
  • Al 'agrupar' se realiza la misma implementación aunque diferenciando entre los registros de diferentes valores

No hay comentarios:

Publicar un comentario