Esse é o resultado correto: SELECT CPF, COUNT() FROM [NOTAS FISCAIS] WHERE YEAR(DATA) = 2016 GROUP BY CPF HAVING COUNT() > 2000
Por que utilizamos WHERE YEAR(DATA) = 2016 ao invés de WHERE DATA = 2016?
Esse é o resultado correto: SELECT CPF, COUNT() FROM [NOTAS FISCAIS] WHERE YEAR(DATA) = 2016 GROUP BY CPF HAVING COUNT() > 2000
Por que utilizamos WHERE YEAR(DATA) = 2016 ao invés de WHERE DATA = 2016?
Olá Benedito, tudo bem? Bom dia!
No caso da data, ela possuí uma estrutura seguinte: 02/11/2016, por exemplo.
Quando fazermos WHERE DATA = 2016, ele vai dar falso, pois, 02/11/2016 não é igual a 2016.
Porém, o SQL disponiibiliza a função de YEAR(DATA), qual é a sua responsabilidade: Ela retorna SOMENTE o ano da data. Então, ficaria
2016 = 2016, e isso, é verdadeiro.
Por isso, utilizamos a seguinte anotação.
Bons estudos!