¿Cuándo usas cuál en general? ¡Se recomiendan mucho ejemplos!
Me refiero a MySql, pero no puedo imaginar que el concepto sea diferente en otro DBMS
ORDER BY altera el orden en el que se devuelven los artículos.
GROUP BY agregará registros por las columnas especificadas, lo que le permite realizar funciones de agregación en columnas no agrupadas (como SUM, COUNT, AVG, etc.).
ORDER BY altera el orden en el que se devuelven los artículos.
GROUP BY agregará registros por las columnas especificadas, lo que le permite realizar funciones de agregación en columnas no agrupadas (como SUM, COUNT, AVG, etc.).
fuente
age
columna, con Peters tiene diferentes edades y la consulta es SELECCIONAR NOMBRE, EDAD DEL GRUPO DE LA TABLA POR NOMBRE?ORDER BY: ordena los datos en orden ascendente o descendente.
Considere la tabla CLIENTES :
A continuación se muestra un ejemplo, que clasificaría el resultado en orden ascendente por NOMBRE:
Esto produciría el siguiente resultado:
GROUP BY: organiza los datos idénticos en grupos.
Ahora, la tabla CUSTOMERS tiene los siguientes registros con nombres duplicados:
si desea agrupar nombres idénticos en un solo nombre, la consulta GROUP BY sería la siguiente:
Esto produciría el siguiente resultado: (para nombres idénticos, elegiría el último y finalmente ordenaría la columna en orden ascendente)
como ha inferido que no sirve de nada sin funciones SQL como sum, avg, etc.
así que revise esta definición para comprender el uso adecuado de GROUP BY:
Ahora, si desea saber la cantidad total de salario de cada cliente (nombre), la consulta GROUP BY sería la siguiente:
Esto produciría el siguiente resultado: (suma de los salarios de nombres idénticos y ordena la columna NAME después de eliminar nombres idénticos)
fuente
La diferencia es exactamente lo que el nombre implica: un grupo por realiza una operación de agrupación y un orden por géneros.
Si lo hace
SELECT * FROM Customers ORDER BY Name
, obtendrá la lista de resultados ordenada por el nombre del cliente.Si lo hace
SELECT IsActive, COUNT(*) FROM Customers GROUP BY IsActive
, obtiene un recuento de clientes activos e inactivos. El grupo por agregó los resultados según el campo que especificó.fuente
Tienen un significado totalmente diferente y no están realmente relacionados en absoluto.
ORDER BY le permite ordenar el conjunto de resultados de acuerdo con diferentes criterios, como primero ordenar por nombre desde az, luego ordenar por precio de mayor a menor.
(ORDEN POR nombre, precio DESC)
GROUP BY le permite tomar su conjunto de resultados, agruparlo en grupos lógicos y luego ejecutar consultas agregadas en esos grupos. Por ejemplo, podría seleccionar a todos los empleados, agruparlos por la ubicación de su lugar de trabajo y calcular el salario promedio de todos los empleados de cada lugar de trabajo.
fuente
Simple,
ORDER BY
ordena los datos yGROUP BY
agrupa, o combina los datos.ORDER BY
ordena el conjunto de resultados según el campo mencionado, por defecto en orden ascendente.Suponga que está lanzando una consulta como
ORDER BY (student_roll_number)
, le mostrará el resultado en orden ascendente de los números de lista de los estudiantes. Aquí, lastudent_roll_number
entrada puede ocurrir más de una vez.En
GROUP BY
caso de que usemos esto con funciones agregadas, y agrupa los datos según la función agregada, y obtenemos el resultado. Aquí, si nuestra consulta tieneSUM (marks)
junto conGROUP BY (student_first_name)
ella, se mostrará la suma de las notas de los estudiantes que pertenecen a cada grupo (donde todos los miembros de un grupo tendrán el mismo nombre).fuente
GROUP BY se usa para agrupar filas en una selección, generalmente al agregar filas (por ejemplo, calcular totales, promedios, etc. para un conjunto de filas con los mismos valores para algunos campos).
ORDER BY se utiliza para ordenar las filas resultantes de una instrucción de selección.
fuente
Algunos buenos ejemplos allí. Al igual que agregar el mío desde la hoja de cheques web, que brinda buenos ejemplos claros, además de permitirle ejecutar su propio SQL.
Orden de SQL por
Grupo SQL por
fuente
ORDER BY
muestra un campo en orden ascendente o descendente. Si bienGROUP BY
muestra los mismos nombres de campo, id's, etc.en una sola salida.fuente
fuente
Cabe señalar
GROUP BY
que no siempre es necesario ya que (al menos en PostgreSQL, y probablemente en otras variantes de SQL) puede usarORDER BY
con una lista y aún puede usarASC
oDESC
por columna ...fuente