Reference not supported on group function

后端 未结 2 1257
抹茶落季
抹茶落季 2021-01-18 03:06

I have some problem using this query, it appears that i cannot use alias as reference on group by query

SELECT v.V_VEHICLEID, v.V_LICENSENO,
ROUND((MAX(IF(DA         


        
2条回答
  •  离开以前
    2021-01-18 03:16

    You can't use the column aliases you defined in a query in the same query. Try something like the following:

    SELECT   *,
             TRIP1 / FUEL1 AS ECON1,
             TRIP31 / FUEL31 AS ECON31,
             OTHER COLUMNS....
    FROM
    (
        SELECT    v.V_VEHICLEID, 
                  v.V_LICENSENO,
                  ROUND((MAX(IF(DAY(WP_DATETIME) = 1, WP_ODOMETER, NULL)) - MIN(IF(DAY(WP_DATETIME) =     1,     WP_ODOMETER, NULL))) / 1000) AS TRIP1,
                  ROUND(MAX(IF(DAY(WP_DATETIME) = 1, WP_FUELREAD, NULL)) - MIN(IF(DAY(WP_DATETIME) = 1,     WP_FUELREAD, NULL)),2) AS FUEL1,
                  ROUND((MAX(IF(DAY(WP_DATETIME) = 31, WP_ODOMETER, NULL)) - MIN(IF(DAY(WP_DATETIME) = 31, WP_ODOMETER, NULL))) / 1000) AS TRIP31,
                  ROUND(MAX(IF(DAY(WP_DATETIME) = 31, WP_FUELREAD, NULL)) - MIN(IF(DAY(WP_DATETIME) = 31, WP_FUELREAD, NULL)),2) AS FUEL31,
                  OTHER COLUMNS...
        FROM      VEHICLES v
        JOIN      WAYPOINTS wp
        ON        wp.WP_VEHICLEID = v.V_VEHICLEID
        WHERE     MONTH(wp.WP_DATETIME) = '6' 
        AND       v.V_USER = 'tc'
        GROUP BY  wp.WP_VEHICLEID
    ) t
    

提交回复
热议问题