En aquest tema, aprendrem com utilitzar les funcions d'agregació a SQL per resumir i analitzar dades a BigQuery. Les funcions d'agregació són essencials per obtenir informació significativa de grans conjunts de dades.
Conceptes Clau
- Funcions d'agregació: Són funcions que realitzen càlculs sobre un conjunt de valors i retornen un únic valor.
- GROUP BY: Una clàusula que s'utilitza per agrupar files que tenen els mateixos valors en columnes especificades en grups.
- HAVING: Una clàusula que s'utilitza per filtrar grups de files després d'aplicar la clàusula GROUP BY.
Funcions d'Agregació
Les funcions d'agregació més comunes són:
COUNT(): Retorna el nombre de files.SUM(): Retorna la suma dels valors.AVG(): Retorna la mitjana dels valors.MIN(): Retorna el valor mínim.MAX(): Retorna el valor màxim.
Exemple Pràctic
Suposem que tenim una taula sales amb les següents columnes: product_id, quantity, i price.
SELECT
COUNT(*) AS total_sales,
SUM(quantity) AS total_quantity,
AVG(price) AS average_price,
MIN(price) AS min_price,
MAX(price) AS max_price
FROM
sales;Explicació del codi:
COUNT(*): Comptem el nombre total de vendes.SUM(quantity): Sumem la quantitat total de productes venuts.AVG(price): Calculem la mitjana dels preus dels productes.MIN(price): Trobarem el preu mínim dels productes.MAX(price): Trobarem el preu màxim dels productes.
Utilització de GROUP BY
La clàusula GROUP BY s'utilitza per agrupar files que tenen els mateixos valors en columnes especificades en grups.
Exemple Pràctic
Suposem que volem saber la quantitat total venuda per cada producte.
Explicació del codi:
product_id: Agrupem les files perproduct_id.SUM(quantity): Sumem la quantitat total de productes venuts per cadaproduct_id.
Utilització de HAVING
La clàusula HAVING s'utilitza per filtrar grups de files després d'aplicar la clàusula GROUP BY.
Exemple Pràctic
Suposem que volem saber quins productes han venut més de 100 unitats.
SELECT
product_id,
SUM(quantity) AS total_quantity
FROM
sales
GROUP BY
product_id
HAVING
total_quantity > 100;Explicació del codi:
GROUP BY product_id: Agrupem les files perproduct_id.SUM(quantity): Sumem la quantitat total de productes venuts per cadaproduct_id.HAVING total_quantity > 100: Filtre per mostrar només els productes que han venut més de 100 unitats.
Exercicis Pràctics
Exercici 1
Troba el nombre total de vendes, la quantitat total venuda i el preu mitjà per cada producte.
SELECT
product_id,
COUNT(*) AS total_sales,
SUM(quantity) AS total_quantity,
AVG(price) AS average_price
FROM
sales
GROUP BY
product_id;Exercici 2
Troba els productes que han venut més de 50 unitats i mostra el nombre total de vendes i la quantitat total venuda per aquests productes.
SELECT
product_id,
COUNT(*) AS total_sales,
SUM(quantity) AS total_quantity
FROM
sales
GROUP BY
product_id
HAVING
total_quantity > 50;Errors Comuns i Consells
- Oblidar la clàusula GROUP BY: Quan utilitzes funcions d'agregació amb columnes no agregades, assegura't d'incloure la clàusula
GROUP BY. - Utilitzar HAVING en lloc de WHERE: Utilitza
WHEREper filtrar files abans de l'agregació iHAVINGper filtrar grups després de l'agregació.
Resum
En aquest tema, hem après a utilitzar funcions d'agregació per resumir dades, la clàusula GROUP BY per agrupar dades i la clàusula HAVING per filtrar grups. Aquestes eines són fonamentals per analitzar i obtenir informació significativa de grans conjunts de dades a BigQuery.
Curs de BigQuery
Mòdul 1: Introducció a BigQuery
- Què és BigQuery?
- Configurar el teu entorn de BigQuery
- Comprendre l'arquitectura de BigQuery
- Visió general de la consola de BigQuery
Mòdul 2: SQL bàsic a BigQuery
Mòdul 3: SQL intermedi a BigQuery
Mòdul 4: SQL avançat a BigQuery
- Unions avançades
- Camps niats i repetits
- Funcions definides per l'usuari (UDFs)
- Particionament i agrupament
Mòdul 5: Gestió de dades a BigQuery
- Carregar dades a BigQuery
- Exportar dades de BigQuery
- Transformació i neteja de dades
- Gestió de conjunts de dades i taules
Mòdul 6: Optimització del rendiment de BigQuery
- Tècniques d'optimització de consultes
- Comprendre els plans d'execució de consultes
- Ús de vistes materialitzades
- Optimització de l'emmagatzematge
Mòdul 7: Seguretat i compliment de BigQuery
Mòdul 8: Integració i automatització de BigQuery
- Integració amb serveis de Google Cloud
- Ús de BigQuery amb Dataflow
- Automatització de fluxos de treball amb Cloud Functions
- Programació de consultes amb Cloud Scheduler
Mòdul 9: Aprenentatge automàtic a BigQuery (BQML)
- Introducció a BigQuery ML
- Creació i entrenament de models
- Avaluació i predicció amb models
- Funcions avançades de BQML
