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

¿Podemos simplificar aún más esta consulta de MySQL?

El alias de la columna no está disponible para su uso en la misma instrucción SELECT, pero si no desea volver a escribir los cálculos, puede utilizar una subconsulta:

select DATE,block_no, KS, KB, V1,
    (KS+KB)/V1 AS "New Rate"
from
(
    SELECT DATE,block_no, 
    SUM(IF(entity='KS',READING,0)) AS KS,
    SUM(IF(entity='KB',READING,0)) AS KB,
    SUM(IF(entity='V1',READING,0)) AS V1
    FROM dbf_sdl
    GROUP BY DATE,block_no
) d