Duplicado de
¿Hay alguna diferencia entre GROUP BY y DISTINTO
Ya está discutido aquí
Si todavía quieres escuchar aquí
Bueno, agrupar por y distinguir tiene su propio uso.
Distinto se utiliza para filtrar registros únicos de los registros que cumplen los criterios de consulta.
La cláusula Group by se utiliza para agrupar los datos sobre los que se activan las funciones agregadas y la salida se devuelve en función de las columnas de la cláusula group by. Tiene sus propias limitaciones, como que todas las columnas que se encuentran en la consulta de selección, además de las funciones agregadas, deben ser parte de la cláusula Group by.
Entonces, aunque puede tener los mismos datos devueltos por distinto y agrupar por cláusula, es mejor usar distinto. Vea el siguiente ejemplo
select col1,col2,col3,col4,col5,col6,col7,col8,col9 from table group by col1,col2,col3,col4,col5,col6,col7,col8,col9
se puede escribir como
select distinct col1,col2,col3,col4,col5,col6,col7,col8,col9 from table
Te hace la vida más fácil cuando tienes más columnas en la lista de selección. Pero al mismo tiempo, si necesita mostrar sum(col10) junto con las columnas anteriores, tendrá que usar Agrupar por. En ese caso, distinto no funcionará.
por ejemplo
select col1,col2,col3,col4,col5,col6,col7,col8,col9,sum(col10) from table group by col1,col2,col3,col4,col5,col6,col7,col8,col9
Espero que esto ayude.