QUEST #260 · AGREGAÇÃO

Tesouro do Reino

O tesoureiro real precisa de três números para o relatório anual: quantos heróis existem, quanto ouro eles somam e qual é o maior nível do reino.

LV.2+85 XP
📖 CONCEITO

Funções de agregação resumem muitas linhas em um único valor: COUNT(*) conta linhas, SUM soma, AVG tira a média, MIN e MAX pegam os extremos. Sem GROUP BY, a tabela inteira vira um único grupo e o resultado tem uma só linha. COUNT(coluna) ignora NULLs, enquanto COUNT(*) conta todas as linhas.

EXEMPLO DE USO
SELECT COUNT(*) AS qtd_itens,
       MIN(preco) AS mais_barato,
       ROUND(AVG(preco)) AS preco_medio
FROM itens;
🗄️ SCHEMA
Tabela `herois` (id SERIAL PRIMARY KEY, nome TEXT, classe TEXT, nivel INT, hp INT, ouro INT, guilda_id INT — pode ser NULL)
🎯 DESAFIO

Em uma única consulta sobre `herois`, retorne `total` (quantidade de heróis), `ouro_total` (soma do ouro) e `maior_nivel` (maior nível), nessa ordem.

psql — banco reino⌨ QUERY