2
respostas

[Projeto] 10 - Relação entre HAVING e subconsulta (SOLUÇÃO)

Qual seria a consulta usando subconsulta que seria equivalente a:

SELECT CPF, COUNT(*) FROM notas_fiscais
WHERE YEAR(DATA_VENDA) = 2016
GROUP BY CPF
HAVING COUNT(*) > 2000

Solução extra:

SELECT n.CPF, n.NUM FROM (SELECT CPF, COUNT(*) AS NUM
                            FROM NOTAS_FISCAIS 
                            WHERE YEAR(DATA_VENDA) = 2016 
                            GROUP BY CPF) n WHERE n.NUM > 2000 
                                            ORDER BY n.NUM;

Output:

CPFNUM
4924727182008
36233447102012
505344757872037
2 respostas

Olá, Sarah, tudo bem?

Mandou muito bem resolvendo o desafio proposto.

Continue assim e bons estudos!

fiz de uma maneira diferente, pensando em um escalonamento no banco:

SELECT CPF, year(DATA_VENDA) as Ano, COUNT() FROM notas_fiscais WHERE YEAR(DATA_VENDA) between (select min(year(DATA_VENDA)) from notas_fiscais) and (select max(year(DATA_VENDA)) from notas_fiscais) GROUP BY CPF, Ano HAVING COUNT() > 2000;