Mysql
 sql >> Base de données >  >> RDS >> Mysql

Pouvons-nous encore simplifier cette requête MySQL ?

L'alias de colonne n'est pas disponible pour une utilisation dans la même instruction SELECT, mais si vous ne souhaitez pas réécrire les calculs, vous pouvez utiliser une sous-requête :

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