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

Kan vi yderligere forenkle denne MySQL-forespørgsel?

Kolonnealiaset er ikke tilgængeligt til brug i den samme SELECT-sætning, men hvis du ikke ønsker at omskrive beregningerne, kan du bruge en underforespørgsel:

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


  1. MySQL Vælg rækker ved første forekomst af hver unik værdi

  2. Sådan får du sidste 1 times data i MySQL

  3. CakePHP HTML-tilbudskodningsproblemer

  4. Sekvens efter dato, tilføj dato før og dato efter postgresql med underforespørgsel