Aviso:

Para brindarle información de soporte completa de manera más rápida, el contenido de esta página ha sido traducido al español mediante traducción automática. Para consultar la información de soporte más precisa, consulte la versión en inglés de este contenido.

GROUP BY y ORDER BY

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

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

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

copy
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 presentes en el Entorno de Desarrollo 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, 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 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

La sintaxis básica para usar una sentencia ORDER BY con la sentencia SELECT es la siguiente:

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

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

Última actualización 2026-03-20 21:51:56 +0530 IST

MovieName Price
Hotel Transylvania 3: Summer Vacation 11.50
The First Purge 9.20
Ant-Man and the Wasp 8.64
Skyscraper 7.44