Puede utilizar un alias para referirse a una columna en las
clausulas GROUP BY
, ORDER
BY
, o HAVING
. Los alias también se
puede utilizar para dar mejores nombres a las columnas:
SELECT SQRT(a*b) AS root FROMnombre_de_tabla
GROUP BY root HAVING root > 0; SELECT id, COUNT(*) AS cnt FROMnombre_de_tabla
GROUP BY id HAVING cnt > 0; SELECT id AS 'Customer identity' FROMnombre_de_tabla
;
El SQL estándar no permite referirse a un alias de columna en
una clausula WHERE
. Esto es porque cuando se
ejecuta el código de WHERE
, el valor de la
columna podría no estar establecido aún. Por ejemplo, la
siguiente consulta es ilegal:
SELECT id, COUNT(*) AS cnt FROM nombre_de_tabla
WHERE cnt > 0 GROUP BY id;
La sentencia WHERE
se ejecuta para determinar
qué registros serán incluidos en la parte de GROUP
BY
, así como HAVING
se utiliza
para decidir qué filas del conjunto de resultados deben
utilizarse.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.