Grouping Part 2
Parte de la sección Fundamentos del Journey de SQL de Coddy — lección 37 de 72.
La palabra clave WHERE ejecuta una condición en cada registro por separado. Por ejemplo:
SELECT * FROM table1
WHERE col1 > col2La condición col1 > col2 se ejecutará en cada registro y verificará si se cumple.
¿Pero qué pasa si queremos filtrar resultados agregados? Por ejemplo:
SELECT category, AVG(price) FROM table1
WHERE AVG(price) > 40
GROUP BY categoryEsto no funcionará porque WHERE no puede comprobar ninguna agregación. Para eso, tenemos la palabra clave HAVING. Filtra los datos por la condición de agregación.
SELECT category, AVG(price) FROM table1
GROUP BY category
HAVING AVG(price) > 40Esto filtrará todas las categorías para las cuales el precio promedio sea mayor que 40.
Si queremos combinar las cláusulas HAVING y WHERE escribiremos:
SELECT category, AVG(price) FROM table1
WHERE price > 25
GROUP BY category
HAVING AVG(price) > 40Esto irá primero registro por registro y filtrará todos los registros para los cuales el price es mayor que 25, y solo después de eso ejecutará la cláusula GROUP BY y filtrará cada category para la cual el precio promedio es mayor que 40.
Desafío
IntermedioTablas y columnas disponibles:
<strong>earthquakes</strong>:<strong>location</strong>,<strong>amplitude</strong>,<strong>period</strong>
La escala de Richter es una escala logarítmica utilizada para medir la magnitud de los terremotos.
Necesitamos devolver la magnitud promedio para cada ubicación de todos los terremotos principales
Un terremoto principal se define como:
- La amplitud es mayor o igual a 1
- El período de las olas es mayor o igual a 1 minuto
Para este desafío, utilizaremos una fórmula diferente: M = (A/T)<sup>2</sup> / T, que es equivalente a M = ((A/T)*(A/T)) / T.
Devuelve la ubicación (location) y la magnitud promedio de cada ubicación incluyendo únicamente los terremotos principales (nombra la columna avg_magnitude). Incluye en tu resultado solo las ubicaciones donde el avg_magnitude sea mayor que 1
Redondea los resultados a 2 decimales
Pruébalo tú mismo
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns