---
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 |