sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo arreglar la columna desconocida MySQL Query Alias? 2018

Según Manual de referencia de MySQL 5.7 ,

No debe usar un alias en la cláusula WHERE ya que el alias se genera al ejecutar la consulta y es posible que no esté listo cuando se ejecute la condición WHERE. Obtiene un error de columna de alias desconocido porque MySQL no reconoce el alias hasta que se genera como resultado de la consulta. Por lo tanto, no puede usar un alias en la cláusula WHERE aquí.

(Adición después de editar la pregunta)

Puede obtener el resultado deseado con la siguiente consulta:

SELECT r.id, r.url, MAX(date) as `max_date`
FROM report as r
GROUP BY id, url;

Explicación de consulta:en SELECT cláusula solo menciona las columnas que desea mostrar, el MAX() la función ya seleccionará los valores máximos (por lo que no necesita una cláusula WHERE), y la cláusula GROUP BY le dice al resultado que agrupe todos los resultados según id y luego url .