Funciones de Agregación MYSQL - Bytes

codigofacilito
24 Nov 201710:26

Summary

TLDREste video presenta una guía básica para utilizar funciones de agregación en MySQL. La tabla 'books', con información de títulos, autores, ventas y fechas de publicación, es utilizada para demostrar cómo contar registros con 'COUNT', sumar valores con 'SUM', calcular promedios con 'AVG', y encontrar valores máximos y mínimos con 'MAX' y 'MIN'. Además, se ofrece un consejo sobre el uso de columnas indexadas para una mejor eficiencia en los conteos y se explica cómo combinar estas funciones con 'GROUP BY' para obtener resultados más específicos, como la suma de ventas por autor.

Takeaways

  • 📚 Se trabaja con funciones de agregación en MySQL para gestionar datos de una tabla llamada 'books'.
  • 📈 La columna 'ventas' representa números en millones, aumentando la escala de los datos.
  • 🔢 Utilizar COUNT() con un asterisco (*) cuenta la cantidad total de registros en una tabla.
  • 🔢 Usar COUNT() con un nombre de columna en lugar del asterisco (*) evita contar registros con NULL en esa columna.
  • 📊 La función SUM() calcula la suma de los valores de una columna, ignorando los NULL.
  • 📊 La función AVG() proporciona el promedio de los valores de una columna, excluyendo los NULL.
  • 🏆 La función MAX() devuelve el valor máximo de una columna.
  • 🥇 La función MIN() devuelve el valor mínimo de una columna.
  • ⚡ Reemplazar el asterisco (*) por una columna indexada mejora el rendimiento al contar registros.
  • 🔍 Usar la cláusula GROUP BY en conjunto con funciones de agregación permite agrupar y analizar datos por categorías específicas.
  • 📝 Es posible obtener resultados similares a las funciones de agregación sin ellas, pero usando consultas más complejas y menos prácticas.

Q & A

  • ¿Cuál es la función de agregación que se utiliza para contar el número de columnas en una tabla?

    -La función de agregación utilizada para contar el número de columnas en una tabla es COUNT.

  • ¿Cómo se puede optimizar el conteo de registros en una tabla con una gran cantidad de registros?

    -Para optimizar el conteo de registros en una tabla con una gran cantidad de registros, se recomienda reemplazar el asterisco (*) con una columna indexada, como la columna 'id', ya que esto mejorará el rendimiento de la consulta.

  • ¿Cuál es el propósito de la función SUM en SQL?

    -La función SUM sirve para sumar los valores de una columna específica en una tabla, en este caso, se utiliza para sumar las ventas de los libros.

  • ¿Qué resultado se obtiene al aplicar la función AVG en la tabla de libros?

    -Al aplicar la función AVG en la tabla de libros, se obtiene un promedio de 175 millones de ventas por autor, excluyendo los registros con valor nulo.

  • ¿Cuál es la diferencia entre las funciones MAX y MIN en términos de valores devueltos?

    -La función MAX devuelve el valor máximo de una columna, mientras que la función MIN devuelve el valor mínimo. En el ejemplo, MAX devolvió 500 millones (para 'Don Quijote') y MIN devolvió 100 millones.

  • ¿Cómo se puede utilizar la cláusula GROUP BY en conjunto con funciones de agregación?

    -La cláusula GROUP BY se puede utilizar junto con funciones de agregación para agrupar los resultados de una consulta por una o más columnas, permitiendo realizar cálculos por grupo. En el ejemplo, se usó para contar la cantidad de libros vendidos por J.R.R. Tolkien.

  • ¿Qué se debe tener en cuenta al utilizar la función COUNT con una columna que no almacena nulos?

    -Al utilizar la función COUNT con una columna que no almacena nulos, el conteo incluirá todos los registros de esa columna, excluyendo aquellos que contengan un valor nulo.

  • ¿Por qué es importante el uso de funciones de agregación en la gestión de bases de datos?

    -El uso de funciones de agregación es importante en la gestión de bases de datos porque permiten realizar cálculos rápidos y precisos sobre conjuntos de datos, lo que facilita la toma de decisiones y el análisis de información.

  • ¿Cómo se puede obtener el mismo resultado que la función MAX sin utilizarla?

    -Para obtener el mismo resultado que la función MAX sin utilizarla, se puede ordenar la columna de interés en forma descendente y seleccionar el primer registro, como se muestra en la consulta 'SELECT书籍.* FROM books ORDER BY 书籍销量 DESC LIMIT 1'.

  • ¿Cuál es el nombre de la tabla utilizada en el script para ilustrar las funciones de agregación?

    -La tabla utilizada en el script para ilustrar las funciones de agregación se llama 'books'.

  • ¿Qué información se encuentra en la columna 'ventas' de la tabla 'books'?

    -La columna 'ventas' de la tabla 'books' contiene números enteros que representan la cantidad de libros vendidos en millones.

  • ¿Cómo se puede mejorar la eficiencia de una consulta que utiliza funciones de agregación en una tabla con un gran número de registros?

    -La eficiencia de una consulta que utiliza funciones de agregación en una tabla con un gran número de registros puede mejorarse utilizando índices en las columnas implicadas en la función y optimizando las consultas mediante la cláusula GROUP BY y las condiciones WHERE apropiadas.

Outlines

00:00

📚 Introducción a las funciones de agregación en MySQL

En este primer párrafo, se presenta la estructura y el propósito de la tabla 'books', que contiene información sobre títulos, autores, ventas y fechas de publicación. Destaca la existencia de nueve registros y la particularidad de que los valores de ventas están en millones. Se describe la función 'COUNT' y cómo se utiliza para contar el número de columnas y registros en una tabla, excluyendo los nulos. Además, se ofrece un consejo sobre el uso de columnas indexadas para un conteo más eficiente.

05:02

🔢 Funciones de agregación para sumas, promedios y valores extremos

En el segundo párrafo, se explican las funciones 'SUM', 'AVG', 'MAX' y 'MIN' de forma detallada. 'SUM' se utiliza para calcular la suma de las ventas en millones, mientras que 'AVG' calcula el promedio de ventas por autor. 'MAX' y 'MIN' devuelven los valores máximo y mínimo de ventas respectivamente. También se menciona la posibilidad de combinar estas funciones con 'GROUP BY' para obtener resultados más específicos, como el número de libros vendidos por un autor en particular.

10:06

🙏 Despedida y agradecimientos

En el último párrafo, el presentador Eduardo se despide de los espectadores y les invita a dejar comentarios si han aprendido algo nuevo. Asimismo, menciona su nombre para dar un toque personal al cierre del vídeo.

Mindmap

Keywords

💡bases de datos

Las bases de datos son sistemas organizados para almacenar, gestionar y recuperar información. En el video, se utiliza MySQL, un gestor de base de datos común, para ilustrar el manejo de funciones de agregación. La base de datos mencionada en el video es 'books', que almacena información sobre libros, incluyendo título, autor, cantidad de ventas y fecha de publicación.

💡funciones de agregación

Las funciones de agregación son herramientas en SQL que permiten realizar cálculos sobre un conjunto de datos, como sumar, contar, encontrar el valor máximo o mínimo, y calcular promedios. Estas funciones son fundamentales para el análisis de datos y la toma de decisiones basadas en la información almacenada en una base de datos. En el contexto del video, se utilizan funciones de agregación para obtener información resumida de la tabla 'books'.

💡MySQL

MySQL es un sistema de gestión de bases de datos relacional de código abierto que se utiliza para administrar bases de datos. Es conocido por su alta velocidad, seguridad y escalabilidad. En el video, MySQL se utiliza como el gestor de base de datos para ilustrar el uso de funciones de agregación con la tabla 'books'.

💡registros

Los registros en una base de datos son las filas individuales que contienen información para una entidad específica. Cada registro es como una tarjeta de datos que puede ser accedida, modificada o eliminada. En el video, el presentador menciona que la tabla 'books' tiene nueve registros, que son los datos de cada libro almacenados en la tabla.

💡ventas

Las ventas en el contexto del video son un dato numérico que representa la cantidad de libros vendidos. Este dato es importante para el análisis de la performance de los libros y la toma de decisiones editoriales. En el video, las ventas se representan en millones, con un registro indicando 500, lo que significa 500 millones de ejemplares vendidos.

💡NULL

En bases de datos, NULL se utiliza para representar la ausencia de datos o una información no disponible en una columna específica de un registro. Es importante tener en cuenta los valores NULL al realizar consultas y funciones de agregación para obtener resultados precisos. En el video, se menciona que el último registro tiene valores NULL en las columnas de título, autor, cantidad de venta y fecha de publicación.

💡índice

Un índice en una base de datos es una estructura de datos que mejora la velocidad de检索 de información en una tabla. Los índices funcionan como un directorio, permitiendo a las consultas de bases de datos encontrar rápidamente las filas relevantes sin tener que recorrer toda la tabla. En el video, se sugiere el uso de columnas indexadas, como 'id', para un conteo más rápido de registros.

💡promedio

El promedio, también conocido como media, es el valor central de un conjunto de números. Se calcula sumando todos los valores del conjunto y luego dividiendo la suma entre la cantidad de valores. En el video, la función AVG se utiliza para calcular el promedio de ventas de los libros en la tabla 'books', excluyendo los valores NULL.

💡valor máximo y mínimo

El valor máximo y mínimo son los valores más altos y más bajos dentro de un conjunto de datos, respectivamente. Las funciones MAX y MIN en SQL se utilizan para encontrar estos valores. En el contexto del video, las funciones MAX y MIN se aplican a la columna de ventas para encontrar las ventas más altas y más bajas de los libros en la tabla.

💡cláusula GROUP BY

La cláusula GROUP BY en SQL se utiliza para agrupar filas de una tabla en función de uno o más valores. Después de agrupar los datos, se pueden utilizar funciones de agregación para calcular resúmenes para cada grupo. Esto es útil para obtener información resumida y comparar grupos de datos específicos. En el video, la cláusula GROUP BY se utiliza para contar la cantidad de libros vendidos por autor.

💡LIKE

LIKE es una cláusula en SQL que se utiliza en consultas para buscar patrones de coincidencia en los datos. Es especialmente útil cuando se necesita encontrar registros que contienen un cierto texto o un patrón específico. En el video, se utiliza la cláusula LIKE para buscar el autor J.R.R. Tolkien en la tabla 'books'.

Highlights

Presentación de un nuevo video sobre funciones de agregación en MySQL.

Uso de la tabla 'books' con 5 columnas: título, autor, cantidad de ventas, fecha de publicación y un registro con valores nulos.

La columna 'ventas' representa números en millones.

Cuenta de nueve registros en la tabla 'books' utilizando la función COUNT con un asterisco.

Exclusión de registros con NULL en la columna 'título' al utilizar COUNT.

Recomendación de usar una columna indexada, como 'id', para un conteo más rápido de registros.

Función SUM para calcular la suma de las ventas en millones.

Función AVG para calcular el promedio de ventas por libro, excluyendo los nulos.

Función MAX para encontrar el valor máximo de ventas en la columna.

Función MIN para encontrar el valor mínimo de ventas en la columna.

Avisos sobre la posibilidad de obtener los mismos resultados sin funciones de agregación.

Ejemplo práctico de uso de la función SUM junto con la cláusula WHERE para contar ventas de un autor específico.

Uso de la cláusula LIKE para filtrar datos en la función WHERE.

Agrupación de datos con la cláusula GROUP BY para obtener el total de ventas por autor.

Ejemplo de obtener el total de ventas para J.R.R. Tolkien usando GROUP BY.

Conclusión del video y agradecimiento por la audiencia.

Transcripts

play00:05

bienvenidos a este nuevo vídeo en esta

play00:08

ocasión estaremos trabajando con las

play00:10

funciones de agregación del gestor de

play00:13

base de datos mysql para este vídeo me

play00:16

voy a apoyar de una tabla la cual

play00:19

previamente he creado

play00:21

yo tengo

play00:24

y esta tabla tiene por nombre books

play00:34

como observamos esta tabla cuenta con 5

play00:37

columnas una de un título un autor la

play00:43

cantidad de ventas que ha tenido ese

play00:44

libro y una fecha de publicación

play00:49

vamos a ver los registros

play00:51

select

play00:55

books

play00:57

vamos a visualizar que cuento con nueve

play01:00

registros

play01:03

algo importante a mencionar es que en el

play01:06

apartado de ventas vamos a encontrar un

play01:09

número entero este número entero hace

play01:11

referencia a millones si ustedes

play01:14

visualizan 500 significa 500 millones

play01:18

esto lo he puesto de esta manera para

play01:20

que pues el vídeo sea un poco más fácil

play01:23

de comprender

play01:27

vamos a observar que el último registro

play01:29

el registro con el hay 19 almacena

play01:32

valores nulos el título el autor la

play01:36

cantidad de venta y la fecha de

play01:37

publicación

play01:40

una vez descrita esta tabla comencemos

play01:43

la primera función de agregación con la

play01:46

que vamos a trabajar será con la función

play01:48

count

play01:49

vamos a colocar select count y esta

play01:53

función nos va a servir para que

play01:55

nosotros podamos contar la cantidad de

play01:58

columnas que tenemos de una tabla

play02:01

vamos a colocar asterisco

play02:05

posteriormente indicamos de qué tabla

play02:09

vamos a visualizar el número 9 eso

play02:13

quiere decir que mi tabla books almacena

play02:15

nueve registros 9 duplas

play02:21

voy a renombrar mi columna como total y

play02:25

visualizo 9

play02:27

ok

play02:29

comúnmente vamos a colocar el asterisco

play02:31

para que nosotros sepamos la cantidad de

play02:34

registros que tiene nuestra tabla sin

play02:37

embargo nosotros podemos reemplazar el

play02:39

asterisco y colocar el nombre de una

play02:42

columna por ejemplo título

play02:46

en esta ocasión en la salida es 8 a qué

play02:49

se debe esto

play02:51

si nosotros colocamos una columna como

play02:55

este es mi caso entonces va a contar

play02:58

todos los registros los cuales no

play03:01

almacenen un null en dicha columna

play03:04

en este caso como título tienen un ese

play03:09

registro no es contado

play03:11

por eso visualizamos 8

play03:16

lo que les acabo de explicar va a

play03:18

aplicar para las siguientes funciones de

play03:20

agregación no es exclusiva del count

play03:26

y bien de esta forma es como nosotros

play03:28

podemos contar registros de una tabla

play03:31

podemos excluir los nulos

play03:35

antes de pasar a la siguiente función me

play03:37

gustaría hacer un pequeño paréntesis

play03:38

para darles un pequeño tip

play03:41

si ustedes van a contar la cantidad de

play03:44

registros que se encuentran dentro de

play03:46

una tabla yo les aconsejo que reemplacen

play03:48

el asterisco y utilicen la columna ay de

play03:52

esta columna prácticamente se va a

play03:54

encontrar en todas nuestras tablas la

play03:57

ventaja de colocar haití sobre este

play04:00

disco es que el conteo de registros será

play04:02

más rápido debido a que la columna

play04:05

haití se encuentra indexada

play04:09

en esta ocasión como solo cuento con

play04:11

nueve registros

play04:14

la velocidad con que obtengo esos

play04:16

registros es imperceptible sin embargo

play04:19

si yo tuviera una tabla con millones de

play04:22

registros el tiempo de ejecución de la

play04:24

sentencia se vería afectado se vería

play04:27

reducido si tú cuentas con una tabla con

play04:30

millones de registros te invito a que

play04:32

hagas este cambio primero utiliza el

play04:34

asterisco y posteriormente utiliza la

play04:37

columna haití o cualquier otra columna

play04:40

que se encuentre indexada de preferencia

play04:42

que sea el aire y puedes dejar tu

play04:44

resultado en la parte de comentarios

play04:47

bien una vez dicho esto pasemos a la

play04:50

siguiente función

play04:52

la siguiente función tiene por nombre

play04:57

como su nombre lo indica lo que va a

play04:59

hacer esta función es simplemente sumar

play05:01

columnas vamos a sumar las ventas

play05:08

vamos a obtener 1400 recordemos que este

play05:12

dato se encuentra en millones

play05:15

esta es la suma

play05:18

de todos estos números como mencioné

play05:21

anteriormente el registro con el valor

play05:24

nulo no es tomado en cuenta

play05:28

la siguiente función es a vg

play05:35

esta función lo que hace es sacar un

play05:37

promedio suma a todos los valores y

play05:40

posteriormente lo divide entre la

play05:43

cantidad de registros que no contengan

play05:45

null

play05:47

en este caso obtenemos 175 eso quiere

play05:51

decir que en promedio en mi tabla

play05:54

cada autor vendió 175 millones de

play05:57

ejemplares

play05:59

bien

play06:01

pasemos a las últimas dos funciones que

play06:04

veremos en este vídeo la penúltima

play06:07

función tiene por nombre max

play06:11

como su nombre lo indica esta función

play06:13

nos va a retornar el valor máximo de

play06:16

dicha columna

play06:17

si recordamos

play06:20

en mi tabla libros

play06:23

la venta más grande es de don quijote

play06:27

con un total de 500 millones de

play06:30

ejemplares vendidos

play06:34

y la última función tiene por nombre mí

play06:40

que nos va a retornar el valor mínimo

play06:43

en este caso 100 y estas serían las

play06:47

cinco funciones de agregación que

play06:49

estaríamos trabajando prácticamente en

play06:51

nuestro día a día es verdad que nosotros

play06:53

podemos obtener los mismos resultados

play06:56

mediante alguna consulta por ejemplo los

play07:00

más fáciles serían las últimas dos

play07:02

funciones si yo quiero obtener el valor

play07:06

máximo de una columna la sentencia sería

play07:09

algo como la siguiente select 6 + total

play07:16

from books

play07:22

where 6 snow y posteriormente vamos a

play07:29

ordenar order by

play07:32

6 en forma descendente

play07:36

y obtenemos simplemente un elemento

play07:42

vamos a obtener 500 el mismo resultado

play07:45

que nos retorna va la función max

play07:51

si reemplazamos descendente por

play07:53

ascendente obtenemos 100 de igual forma

play07:58

podemos hacer lo mismo con las otras

play08:00

funciones podemos utilizar una sentencia

play08:02

sin embargo esto lleva tiempo y se

play08:05

vuelve un poco tedioso porque reinventar

play08:08

la rueda cuando estas funciones ya

play08:10

existe

play08:12

ya para finalizar este vídeo me gustaría

play08:14

mencionar que estas funciones se pueden

play08:17

utilizar en conjunto con la cláusula

play08:19

group by veamos un último ejemplo

play08:25

vamos a contar la cantidad de libros que

play08:28

ha vendido el autor jrr tolkien para

play08:32

ello vamos a hacer lo siguiente select

play08:34

sum

play08:37

6

play08:42

total

play08:44

from books

play08:50

y aquí vamos a colocar nuestra

play08:52

condicional where autor

play08:58

aquí puedo colocar directamente su

play09:00

nombre sin embargo yo prefiero hacerlo

play09:03

con un like

play09:04

vamos a colocar que termina en talking

play09:13

si hacemos esto directamente vamos a

play09:17

obtener la cantidad de libros vendidos

play09:18

sin embargo si nosotros queremos obtener

play09:22

otro dato por ejemplo el nombre completo

play09:26

del autor

play09:28

vamos a tener el siguiente hermano

play09:32

para ello para solucionar este error

play09:34

vamos a utilizar la cláusula lumbar

play09:40

vamos a agrupar por autor

play09:44

y aquí está j rr tolkien en mi pequeña

play09:48

tabla ha vendido 250 millones de

play09:52

ejemplares con sus dos libros el señor

play09:56

de los anillos y el hobbit

play10:06

bien y con esto estaríamos terminando el

play10:09

vídeo en esta ocasión mi nombre es

play10:12

eduardo y yo me despido no sin antes

play10:14

mencionar que si el vídeo fue de tu

play10:16

agrado y aprendiste algo nuevo me

play10:19

gustaría que lo dejarás en la parte de

play10:21

comentarios sin más yo me despido muchas

play10:24

gracias

Rate This

5.0 / 5 (0 votes)

Related Tags
Agregación de datosMySQLVentas de librosGestión de bases de datosOptimización de consultasEjemplos prácticosConsejos de programaciónFunciones de agregaciónDesarrollo web
Do you need a summary in English?