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

  1. Funcions d'agregació: Són funcions que realitzen càlculs sobre un conjunt de valors i retornen un únic valor.
  2. GROUP BY: Una clàusula que s'utilitza per agrupar files que tenen els mateixos valors en columnes especificades en grups.
  3. 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.

SELECT
  product_id,
  SUM(quantity) AS total_quantity
FROM
  sales
GROUP BY
  product_id;

Explicació del codi:

  • product_id: Agrupem les files per product_id.
  • SUM(quantity): Sumem la quantitat total de productes venuts per cada product_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 per product_id.
  • SUM(quantity): Sumem la quantitat total de productes venuts per cada product_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

  1. Oblidar la clàusula GROUP BY: Quan utilitzes funcions d'agregació amb columnes no agregades, assegura't d'incloure la clàusula GROUP BY.
  2. Utilitzar HAVING en lloc de WHERE: Utilitza WHERE per filtrar files abans de l'agregació i HAVING per 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

Mòdul 2: SQL bàsic a BigQuery

Mòdul 3: SQL intermedi a BigQuery

Mòdul 4: SQL avançat a BigQuery

Mòdul 5: Gestió de dades a BigQuery

Mòdul 6: Optimització del rendiment de BigQuery

Mòdul 7: Seguretat i compliment de BigQuery

Mòdul 8: Integració i automatització de BigQuery

Mòdul 9: Aprenentatge automàtic a BigQuery (BQML)

Mòdul 10: Casos d'ús de BigQuery en el món real

© Copyright 2024. Tots els drets reservats