Por que você não pode misturar valores agregados e não agregados em um único SELECT?
Sei que se você tiver uma função agregada em uma instrução SELECT, todos os outros valores na instrução devem ser funções agregadas ou listados em uma cláusula GROUP BY. Eu não entendoporqu esse é o caso.
Se eu fizer
SELECT Name, 'Jones' AS Surname FROM People
Eu recebo
NAME SURNAME
Dave Jones
Susan Jones
Amy Jones
Então, o DBMS pegou um valor de cada linha e anexou um único valor a ele no conjunto de resultados. Isso é bom. Mas se isso funcionar, por que não posso fazer:
SELECT Name, COUNT(Name) AS Surname FROM People
Parece a mesma idéia, pegue um valor de cada linha e adicione um único valor. Mas em vez de:
NAME SURNAME
Dave 3
Susan 3
Amy 3
Eu recebo
Você tentou executar uma consulta que não inclui a expressão especificada 'ContactName' como parte de uma função agregad
Sei que não é permitido, mas as duas circunstâncias parecem tão semelhantes que não entendo o porquê. É para facilitar a implementação do DBMS? Se alguém puder me explicar por que não funciona como acho que deveria, ficaria muito grat