Colección de citas famosas - Slogan de motivación - ¿Cuál es la diferencia entre agrupar por y distinguir?

¿Cuál es la diferencia entre agrupar por y distinguir?

Sus funciones son básicamente diferentes. Distinto elimina filas duplicadas. group by es una declaración de agrupación. Quizás sería más fácil dar un ejemplo. Table A id numa 1b 2c 3a 4c 7d 3e 5 Si solo selecciona la columna id, use distinta y agrupe por la misma. seleccione distinto(id) de A;idabcde;seleccione id de A grupo por id;idabcde;La diferencia puede ser que el grupo por tiene una función de clasificación. Pero si necesita agregar otro número de columna, el resultado será diferente. group by es una declaración de agrupación. Si usa select id,num from A group by id,num, el resultado en este ejemplo es el mismo que sin group by, porque num es diferente. Pero si selecciona id,num de un grupo por id, tenga en cuenta que esta declaración es una declaración de error porque num no usa la función de agregación, por ejemplo: sum (suma), avg (promedio) seleccione id,sum(num) de un grupo; por id;id sum(num)a 5b 2c 10d 3e 5 Utilice distintivo para no mostrar filas duplicadas. En este ejemplo, el resultado de seleccionar distinto id,num de A también es consistente con no agregar distinto. Porque no hay filas duplicadas para id y num, en lugar de simplemente mirar la identificación. La función agrupar por es más poderosa y se recomienda utilizar agrupar por. Porque distinto provocará un escaneo completo de la tabla y agrupar por mejorará el rendimiento si el índice se crea correctamente.