Sobes.tech
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.