Somar valores de duas tabelas e depois mostrar o maior

17/04/2020

0

Boa noite, estou estagnado aqui numa questão do trabalho onde ele quer que eu mostre o nome do estado com a maior população, eu já consegui mostrar a população de todos os estados mas na hora de exibir somente o maior eu não consegui fazer, vou botar aqui abaixo o que eu consegui mas não esta certo.

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

Kauano

Responder

Post mais votado

17/04/2020

Kauano, boa noite!

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

Erik Moreira
Responder

Mais Posts

17/04/2020

Erik Moreira

Boa noite, estou estagnado aqui numa questão do trabalho onde ele quer que eu mostre o nome do estado com a maior população, eu já consegui mostrar a população de todos os estados mas na hora de exibir somente o maior eu não consegui fazer, vou botar aqui abaixo o que eu consegui mas não esta certo.

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.
Responder

17/04/2020

Kauano

Funcionou, obrigado. Não tinha conhecimento dos comandos DESC e LIMIT.
Responder

17/04/2020

Erik Moreira

Então agora é só dar uma estudada neles que é bem simples.

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar