Mysql
 sql >> Database >  >> RDS >> Mysql

Possiamo semplificare ulteriormente questa query MySQL?

L'alias di colonna non è disponibile per l'uso nella stessa istruzione SELECT, ma se non si desidera riscrivere i calcoli, è possibile utilizzare una sottoquery:

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