Big data: GROUP BY y HAVING

El auge del big data ha provocado que se convierta en una disciplina imprescindible en la actualidad. A continuación, te contamos la definición de tres conceptos esenciales para entender mejor el uso de los macrodatos.

Big data

Ya es una disciplina imprescindible. Consiste en un conjunto de datos, o en combinaciones de los mismos, que por su volumen, variabilidad y velocidad de crecimiento complican su procesamiento o análisis mediante herramientas como una base de datos o paquetes de visualización.

Si bien el tamaño es lo que marca que se use el término antes indicado, lo normal es que se considere así a los que superan los 30 terabytes. La mayoría de la información generada en la actualidad no se acoge a una estructura fija. Por ello, el resultado se combina con una base de datos relacional, con un ERP o un CRM. Gracias a esto se utilizan una serie de conceptos como los que ahora se comentan.

GROUP BY y HAVING

Dada la enorme cantidad de documentos que se manejan, es necesario enumerar los campos que no se consideran como agregados. En este caso, la cláusula GROUP BY sirve para:

  • Identificar una columna que se use para agrupar los resultados solicitados.
  • Dividir los datos en distintos grupos dependiendo de los valores de la columna.
  • Devolver una fila de resultados para cada grupo de datos.
  • Puedes emplearla con más de un nombre y siempre detrás de FROM y WHERE a la hora de consultar los datos. También debe aparecer antes de ORDER BY y de HAVING.

Cualquier columna que no tenga una agregación asociada debería aparecer en GROUP BY. Es decir, se emplea para acumular los resultados por grupos, pero sin ordenarlos (para hacerlo se usa Order). También te ayudará a agrupar las filas correctamente.

En SQL es una opción al código GRUPO, ya que amplía la agrupación, contribuye a la especificación del formato y ayuda a realizar la selección de datos condicional.

Por ejemplo, si quieres saber cuántos años de servicio acumulan cinco empleados y cuánto cobran, el código sería el siguiente:

SELECT AÑOS, COUNT (*), AVG (SALARIO) FROM Q.PLANTILLA GROUP BY AÑOS HAVING COUNT(*)>5.

La cláusula HAVING

En lo referente a los valores de agregado, siguiendo los criterios de agrupación, es más eficaz la cláusula HAVING. Su función es emplear un criterio que limite los resultados. No obstante, de encontrarse en un campo al que también se apliquen los criterios y emplearse en función de agregado, no es posible utilizar la cláusula Where. HAVING funciona como Where, pero contando con los datos agregados. El siguiente ejemplo te ayudará a entender mejor su utilidad.

Imagina que tienes que recurrir a la función SELECT y luego COUNT (para conocer el número de fila). El comando sería: SELECT COUNT ([Webpage]), Company. Si lo que quieres es restringir más los resultados, en este caso te será útil. Si la empresa dispone de varias direcciones web, el comando debería ser: HAVING Count ([Webpage])<1.

Debes saber que una consulta admite tanto WHERE como HAVING. Los criterios no usados en función de agregado se corresponden con la primera. Los de los campos usados en funciones de agregados con la segunda.

Sin embargo, es importante realizar algunas aclaraciones para que no te confundas de cláusula:

  • Ambas cláusulas eliminan la información que no quieres ver en el informe.
  • WHERE se usa más para la selección de columnas y para saber si se debe incluir una fila concreta.
  • HAVING se utiliza con otras funciones, como determinar si debe incluirse un grupo en su totalidad. Además, va siempre tras una función de columna. Las más habituales son AVG, SUM, COUNT, MAX y MIN. También puede ir seguida una subconsulta que necesite un valor agrupado que complete su condición.

WHERE elimina los datos de fila no deseados. HAVING elimina los datos de grupo no deseados. Por lo tanto, será incorrecta la orden HAVING AÑOS>4 y será correcta HAVING MIN (AÑOS)>4.

Como has comprobado, tanto GROUP BY como HAVING se encargan de evitar que pierdas demasiado tiempo repasando la base de datos para encontrar lo que buscas.

No dudes en combinar ambos comandos para obtener resultados mucho más fiables y acordes a tus necesidades específicas. Añadiéndolos a otras opciones, te será más fácil manejar toda la información y acotar tus búsquedas de manera más eficaz y fiable.

Formación en big data

Si bien los ejemplos anteriores son puntuales, quizá hayan sido de tu interés. El análisis de los datos que genera una empresa es imprescindible para garantizar su supervivencia y para adelantarse a cualquier tipo de tendencia.

Matricularte en un máster en big data te permite también aprender opciones complementarias como el análisis de negocios o la ciencia de datos. En nuestro caso, te ofrecemos las opciones de formación presencial en Madrid o Málaga para que puedas mantener el contacto con el profesorado y con tus compañeros.

De no poder asistir a clase, la formación online en big data te permitirá ir aprendiendo a tu ritmo. En todo momento, contarás con el apoyo de los profesores y con toda la atención necesaria para que tu aprendizaje sea el más adecuado. Conseguirás:

  • Entender por qué los datos son esenciales para cualquier organización.
  • Poner en marcha soluciones eficaces para sacarle el máximo partido al análisis de datos.
  • Valorar la importancia del uso de tecnologías de procesamiento y de almacenamiento de datos. Conocerás cuál es su función concreta dentro de la empresa correspondiente.
  • Comprender el valor de los datos y su análisis en las organizaciones y ser capaz de idear y concebir soluciones de análisis de datos.
  • Aplicar la metodología de análisis de datos para resolver los diversos problemas de una empresa.
  • Conocer la eficacia del aprendizaje automático basándote en el data mining para establecer un modelo predictivo lo más eficaz posible.

Además, te será más fácil ampliar tu horizonte laboral y formarte en una especialidad en continua evolución como el big data. Contacta con nosotros para que comiences ya una etapa mucho más fructífera en la que puedas desarrollarte como profesional en una tecnología apasionante que te sorprenderá.

Las dos pestañas siguientes cambian el contenido a continuación.
Equipo de profesionales formado esencialmente por profesores y colaboradores con amplia experiencia en las distintas áreas de negocio del mundo empresarial y del mundo académico. IMF Smart Education ofrece una exclusiva oferta de postgrados en tecnología en colaboración con empresa como Deloitte, Indra o EY (masters en Big Data, Ciberseguridad, Sistemas, Deep Learning, IoT) y un máster que permite acceder a la certificación PMP/PMI. Para ello IMF cuenta con acuerdos con universidades como Nebrija, la Universidad de Alcalá y la Universidad Católica de Ávila así como con un selecto grupo de universidades de Latinoamérica.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *