La cláusula GROUP BY agrega datos de uno o más campos mediante funciones de agregación definidas por el usuario (UDAF) integradas.
Descripción
La cláusula GROUP BY agrupa datos de uno o más campos para calcular valores como máximos, mínimos y promedios.
Sintaxis
select:
SELECT [ ALL | DISTINCT ]
{ * | projectItem [, projectItem ]* }
FROM tableExpression
[ WHERE booleanExpression ]
[ GROUP BY { groupItem [, groupItem ]* } ]
[ HAVING booleanExpression ]
UDAF integradas
A continuación se describen las UDAF integradas.
|
N.º |
Nombre de la función |
Funciones |
|
1 |
SUM |
Calcula la suma tras la agregación. |
|
2 |
MIN |
Obtiene el valor mínimo tras la agregación. |
|
3 |
MAX |
Finds the maximum value after aggregation. |
|
4 |
COUNT |
Counts the number of rows. |
|
5 |
AVG |
Calcula el promedio tras la agregación. |
|
6 |
ARBITRARY |
Selecciona un valor de entrada arbitrario como resultado. |
Puede personalizar las UDAF para extender la lógica de agregación.
Ejemplos
SUM:
SELECT brand, SUM(price) FROM phone WHERE nid < 8 GROUP BY brand
MIN:
SELECT brand, MIN(price) FROM phone WHERE nid < 8 GROUP BY brand
MAX:
SELECT brand, MAX(price) FROM phone WHERE nid < 8 GROUP BY brand
COUNT:
SELECT brand, COUNT(*) FROM phone WHERE nid < 8 GROUP BY brand
AVG:
SELECT brand, AVG(price) FROM phone WHERE nid < 8 GROUP BY brand
Cláusula HAVING:
SELECT brand FROM phone GROUP BY brand HAVING COUNT(brand) > 10