Guide for Miniwind 4: Funcions d'agregació
Com abordar aquest problema
Practiques les funcions d'agregat (COUNT, SUM, AVG, MIN, MAX) per obtenir un resum de tota una taula en una sola fila. La BD Miniwind té moltes taules: mira a l'esquema on és cada columna abans d'escriure res. Cada pregunta té el seu propi quadre de text: escriu-hi una sola consulta SELECT (sense res més) per a cada pregunta.
La sintaxi que necessites
SELECT FUNCIO(columna) [, FUNCIO(columna) ...]
FROM taula
WHERE condició; -- opcional: només resumeix les files que la compleixen
COUNT(*): nombre de files.COUNT(columna): nombre de valors no NULL.SUM(columna): suma;AVG(columna): mitjana.MIN(columna)/MAX(columna): el valor més petit / més gran.
Cada funció que escrius és una columna del resultat, en el mateix ordre.
Pregunta per pregunta
Pregunta 1. Comptar les files d'una taula. Assegura't que tries la taula que diu l'enunciat.
Pregunta 2. Dues funcions sobre la mateixa columna de preu, en l'ordre de l'enunciat: primer el valor més alt i després el més baix (compte, és l'invers de l'ordre "natural").
Pregunta 3. Una suma sobre una columna de la taula de detalls de comanda (no de la taula de comandes!). Sense filtre.
Un exemple semblant
El cost mitjà (standard_cost) dels productes de la categoria 'Beverages':
SELECT AVG(standard_cost)
FROM products
WHERE category = 'Beverages';
Quantes comandes hi ha i quant sumen les seves despeses d'enviament:
SELECT COUNT(*), SUM(shipping_fee)
FROM orders;
Paranys habituals:
- Hi ha columnes de preu a diverses taules (
products,order_details...): llegeix bé de quina taula et parlen. - L'ordre de les columnes compta:
MAX, MINno és el mateix queMIN, MAX. COUNT(*)compta files;COUNT(columna)ignora elsNULL.- Els resultats amb decimals es comparen amb tolerància de 0.001: no cal
ROUND.