Agrupar por cláusula se discutirá en detalle en este artículo.
Hay toneladas de datos presentes en el sistema de base de datos. Aunque los datos están organizados en forma de tabla en el orden correcto, el usuario a veces desea que los datos de la consulta estén agrupados para facilitar el acceso. Para organizar los datos (columnas) en forma de grupos, se debe usar una cláusula denominada group by en la consulta. La cláusula group by organiza los datos según las columnas especificadas en la consulta. La sintaxis básica es-
Sintaxis:
select select_list from table_name group by column_1 column_2
A continuación se muestra un ejemplo: Tabla de estudiantes:
Número de rollo | Nombre | Curso |
---|---|---|
111 | Riya | CSE |
112 | Apurva | CEPE |
113 | Mina | mecánico |
114 | Rita | Biotecnología |
115 | Veena | Químico |
116 | Deepa | AEE |
En caso de que un usuario desee agrupar datos según el número de rollo, puede hacerlo como se muestra a continuación:
select name from student group by roll number
Producción –
Nombre | Número de rollo |
---|---|
Riya | 111 |
Apurva | 112 |
Mina | 113 |
Rita | 114 |
Veena | 115 |
Deepa | 116 |
De esta manera, la tabla se puede agrupar utilizando la cláusula group by. En la producción en tiempo real, la cláusula group by se utiliza para generar cálculos mediante la aplicación de funciones agregadas (máximo, mínimo, etc.). Los usuarios a menudo confunden las cláusulas group by y order by. La cláusula Order by se utiliza para organizar los datos en orden cronológico. La cláusula Group by se utiliza para organizar los datos en forma de grupos.
Para una mejor comprensión, a continuación se muestra un ejemplo.
Número de rollo | Nombre | Curso |
---|---|---|
111 | Riya | CSE |
112 | Apurva | CEPE |
113 | Mina | mecánico |
114 | Rita | Biotecnología |
115 | Veena | Químico |
116 | Deepa | AEE |
Consultas usando ordenar por y agrupar por –
select roll number from student order by name ASC
Producción –
Número de rollo | Nombre |
---|---|
112 | Apurva |
116 | Deepa |
113 | Mina |
114 | Rita |
111 | Riya |
115 | Veena |
select roll number from student group by name
Producción –
Número de rollo | Nombre |
---|---|
111 | Riya |
112 | Apurva |
113 | Mina |
114 | Rita |
115 | Veena |
116 | Deepa |
Del ejemplo, podemos notar claramente la diferencia entre las cláusulas group by y order by. En caso de ordenar por, los nombres se ordenan alfabéticamente (AZ). En caso de que el usuario tenga que hacer arreglos desde ZA, puede hacerlo de la siguiente manera.
select roll number from student order by name DESC
La salida se organizará de la siguiente manera:
Número de rollo | Nombre |
---|---|
115 | Veena |
111 | Riya |
114 | Rita |
113 | Mina |
116 | Deepa |
112 | Apurva |
De esta manera, el arreglo puede ser modificado. En el caso de group by, los datos se ordenan en forma de grupos pero no en orden cronológico. Aquí, la cláusula where no se usa porque genera un error.
Publicación traducida automáticamente
Artículo escrito por mangalgiaishwarya2 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA