--- title: "GROUP BY y ORDER BY" url: https://docs.catalyst.zoho.com/es/cloud-scale/help/zcql/groupby-orderby/ description: "ZCQL es el lenguaje de consulta propio de Catalyst, modelado a partir de lenguajes de consulta familiares, que puedes usar para consultar la base de datos de tu aplicación de forma eficiente" last_updated: 2026-03-20T16:21:56Z service: Cloud Scale type: general --- ### Sentencia GROUP BY La sentencia `GROUP BY` se usa para agrupar los registros obtenidos en los resultados de una consulta de búsqueda por una o más columnas. `GROUP BY` permite que datos idénticos se agrupen juntos y se muestren secuencialmente. Cuando hay valores duplicados en una columna, la sentencia `GROUP BY` muestra los duplicados juntos. Los registros se ordenan luego según otras columnas. La sentencia `GROUP BY` está asociada con la sentencia `SELECT` y se usa frecuentemente con las [funciones ZCQL](https://docs.catalyst.zoho.com/es/cloud-scale/help/zcql/zcql-functions/). Se usa hacia el final de la consulta y por lo tanto debe satisfacer las sentencias `JOIN` y seguir las condiciones `WHERE`. La sintaxis básica para usar una sentencia `GROUP BY` junto con la sentencia `SELECT` es la siguiente: ```sql SELECT column_name(s) FROM parent_table_name GROUP BY column_name(s) ``` **Ejemplo**: Para ver una lista de teatros y sus ubicaciones de la tabla _Theaters_, agrupados por la ubicación de los teatros, ejecuta la siguiente consulta: ```sql SELECT TheaterName, Location FROM Theaters GROUP BY Location ``` Esto generará la siguiente salida:
TheaterName Location
Cosmos Theater Albany
FunTime Cinemas Buffalo
The Express Cinemas New York City
ANC Cinemas Rochester
#### Función BINARYOF() La función `BINARYOF()` solo se puede usar en una sentencia `GROUP BY`. La función se puede usar en lugares donde desees producir una salida que no sea sensible a mayúsculas y minúsculas y considere todos los valores en una columna de una tabla. La función `BINARYOF()` solo se puede usar en columnas con tipo de dato **VarChar** o **Text**. Por ejemplo, considera la siguiente tabla *Zylker_EMP*:
Names
AMELIA BURROWS
amelia burrows
amelia Burrows
Amelia Burrows
A continuación se muestra una sentencia ZCQL de ejemplo para ilustrar la funcionalidad de `BINARYOF()` y su posible salida: ```sql SELECT Names FROM Zylker_EMP GROUP BY BINARYOF(Names) ```
Zylker_EMP.Names
AMELIA BURROWS
amelia burrows
amelia Burrows
Amelia Burrows
> **Nota:** * Esta funcionalidad solo está disponible en **ZCQL V2**. * A partir del **1 de diciembre de 2024**, todos tus proyectos actuales en todas tus [Organizaciones](https://docs.catalyst.zoho.com/es/getting-started/catalyst-organizations/) presentes en el [Entorno de Desarrollo](https://docs.catalyst.zoho.com/es/deployment-and-billing/environments/development-environment/) se mapearán automáticamente al **ZCQL V2 Parser**. * A partir del **1 de abril de 2025**, todos los proyectos presentes en todas las *Organizaciones* que ya hayan sido mapeados al **ZCQL V2 Parser** en el *Entorno de Desarrollo* se mapearán automáticamente al **ZCQL V2 Parser** en el [Entorno de Producción](https://docs.catalyst.zoho.com/es/deployment-and-billing/environments/production-environment/), si y cuando se habilite la producción para el proyecto. ### Sentencia ORDER BY La sentencia `ORDER BY` se usa para ordenar los registros obtenidos en los resultados de una consulta de búsqueda en orden ascendente o descendente, basándose en una o más columnas. Cuando la sentencia `ORDER BY` se usa para ordenar datos textuales, ordena los registros en orden alfabético. Similar a la sentencia `GROUP BY`, la sentencia `ORDER BY` está asociada con la sentencia `SELECT` y se usa frecuentemente después de la sentencia `GROUP BY`. Se usa hacia el final de la consulta, después de las sentencias de la cláusula `JOIN` o las condiciones WHERE, si están presentes, pero antes de la cláusula `LIMIT`. La sentencia `ORDER BY` debe entonces satisfacer las sentencias `JOIN` y seguir las condiciones `WHERE`. > **Nota**: Si la sentencia `ORDER BY` sigue a una sentencia GROUP BY, la sentencia `ORDER BY` tiene precedencia y los resultados se ordenan primero según la sentencia `ORDER BY`, y luego se agrupan según la sentencia `GROUP BY`. * Si hay valores duplicados en una columna, la sentencia `ORDER BY` mostrará los duplicados juntos. Los registros se ordenan luego según otras columnas. * Las [funciones ZCQL](https://docs.catalyst.zoho.com/es/cloud-scale/help/zcql/zcql-functions/) también se pueden usar con sentencias `ORDER BY`. > **Nota:** Para utilizar todas las funcionalidades de la sentencia `ORDER BY`, te recomendamos migrar tu código de **ZCQL V1** a **ZCQL V2**. Puedes obtener más información sobre las mejoras y funcionalidades de **ZCQL V2** en este [documento de ayuda](https://docs.catalyst.zoho.com/es/cloud-scale/help/zcql/syntax-exceptions/) La sintaxis básica para usar una sentencia `ORDER BY` con la sentencia `SELECT` es la siguiente: ```sql SELECT column_name(s) FROM parent_table_name ORDER BY column_name(s) [ASC | DESC] ``` > **Nota:** * Por defecto, la sentencia `ORDER BY` ordena los registros en orden ascendente sin usar la palabra clave '`ASC`'. Para ordenar los registros en orden descendente, deberás usar la palabra clave '`DESC`'. * En todas las columnas donde uses la cláusula `ORDER BY`, la funcionalidad de `ASC` y `DESC` ahora se puede aplicar. También puedes aplicar `ASC` y `DESC` para columnas individuales. **Ejemplo**: Para ver una lista de los precios de entradas de la tabla Pricing en orden descendente para cada película de la tabla _Movies_, ejecuta la siguiente consulta: ```sql SELECT Movies.MovieName, Pricing.Price FROM Movies INNER JOIN Pricing ON Movies.MovieID = Pricing.MovieID ORDER BY Pricing.Price DESC ``` Esto generará la siguiente salida:
MovieName Price
Hotel Transylvania 3: Summer Vacation 11.50
The First Purge 9.20
Ant-Man and the Wasp 8.64
Skyscraper 7.44