ComeçarComece gratuitamente

Cálculo de porcentagem com CASE e AVG

Os comandos CASE retornarão qualquer valor que você especificar na cláusula THEN. Essa é uma ferramenta incrivelmente poderosa para cálculos robustos e manipulação de dados quando usada em conjunto com uma cláusula de agregação. Uma tarefa importante que você pode realizar é usar CASE dentro de uma função AVG para calcular uma porcentagem de informações no seu banco de dados.

Aqui está um exemplo de como você pode configurar isso:

AVG(CASE WHEN condition_is_met THEN 1

         WHEN condition_is_not_met THEN 0 END)

Com essa abordagem, é importante especificar com precisão quais registros contam como 0, caso contrário, seus cálculos podem não estar corretos!

Sua tarefa é examinar o número de vitórias, derrotas e empates em cada país. A tabela matches foi filtrada para incluir todas as partidas das temporadas 2013/2014 e 2014/2015.

Este exercício faz parte do curso

Manipulação de dados em SQL

Ver Curso

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

SELECT 
    c.name AS country,
    -- Count the home wins, away wins, and ties in each country
	___(___ ___ m.home_goal ___ m.away_goal THEN m.id 
        END) AS home_wins,
	___(___ ___ m.home_goal ___ m.away_goal THEN m.id 
        END) AS away_wins,
	___(___ ___ m.home_goal ___ m.away_goal THEN m.id 
        END) AS ties
FROM country AS c
LEFT JOIN matches AS m
ON c.id = m.country_id
GROUP BY country;
Editar e executar código