Somar valores de duas tabelas e depois mostrar o maior
17/04/2020
0
SELECT e.nome, SUM(m.populacao) pop FROM municipio m INNER JOIN estado e ON e.codestado = m.codestado GROUP BY e.nome HAVING SUM(m.populacao) > 30000000
Imagino que seja nesse caminho, mas não sei como exibir o resultado sem usar esse having, assim esta errado pois eu sei que o estado que tem mais população é são paulo então botei maior que 30.000.000.
Kauano
Post mais votado
17/04/2020
Segue a solução que acredito que possa te ajudar:
SELECT e.nome,
SUM(m.populacao) pop
FROM municipio m
INNER JOIN estado e
ON ( e.codestado = m.codestado )
GROUP BY e.nome
ORDER BY pop DESC
LIMIT 1
O que foi feito:
- Removi o HAVING
- Adicionei o ORDER BY pop DESC (Irá ordenar de acordo com o maior volume de população)
- Adicionei o LIMIT 1 que irá trazer somente a primeira linha e como utilizamos o ORDER BY pop DESC será a maior população
Erik Moreira
Mais Posts
17/04/2020
Erik Moreira
SELECT e.nome, SUM(m.populacao) pop FROM municipio m INNER JOIN estado e ON e.codestado = m.codestado GROUP BY e.nome HAVING SUM(m.populacao) > 30000000
Imagino que seja nesse caminho, mas não sei como exibir o resultado sem usar esse having, assim esta errado pois eu sei que o estado que tem mais população é são paulo então botei maior que 30.000.000.
17/04/2020
Kauano
17/04/2020
Erik Moreira
Clique aqui para fazer login e interagir na Comunidade :)