Middle
Como funciona uma consulta SQL com um conjunto completo de campos sem funções de agregação e GROUP BY nesses mesmos campos?
sobes.tech IA
Resposta da IA
Se uma consulta SQL utiliza o operador GROUP BY em todo o conjunto de campos da seleção, mas sem aplicar funções de agregação, o resultado será equivalente a um simples SELECT DISTINCT nesses mesmos campos.
Isto acontece porque agrupar por todos os campos na prática divide a tabela em grupos, cada um contendo uma combinação única de valores desses campos. Como não há funções de agregação, de cada grupo é simplesmente retirada uma linha — ou seja, os duplicados são removidos.
Exemplo:
SELECT col1, col2, col3
FROM table_name
GROUP BY col1, col2, col3;
Este comando retornará todas as combinações únicas de valores de col1, col2 e col3, de forma semelhante a:
SELECT DISTINCT col1, col2, col3
FROM table_name;
Assim, GROUP BY sem funções de agregação e com o conjunto completo de campos serve para remover duplicados nesses campos.